
This class groups all geometry related elements which are shared across the different subclasses (FBMesh, FBSurface, FBNurbs and FBPatch). Geometry Material always use kFBGeometryReference_INDEX mode. While Normal, UV could have different combination of mapping and reference modes.Geometries created with SDK can only use the mapping/reference mode kFBGeometryMapping_ALL_SAME/kFBGeometryReference_INDEX for material, kFBGeometryMapping_BY_CONTROL_POINT/kFBGeometryReference_DIRECT for Normal and UV. And only one set of UV could be created.Geometries passed from FBXSDK pipeline could have various complex mapping/reference mode combination for material, normal and UV. And could potentially contains multiple set of UVs.
Public Member Functions |
|
| FBGeometry (str pName) | |
| Constructor. |
|
| bool | GeometryBegin () |
| Begin/End geometry mapping. |
|
| bool | GeometryEnd () |
| Begin/End geometry mapping. |
|
| int | ShapeAdd (str pName) |
| Add new shape. |
|
| ShapeClearAll () | |
| Clears all the shapes. |
|
| int | ShapeGetCount () |
| Get Shape Count. |
|
| bool | ShapeGetDiffPoint (int pShapeIdx, int pDiffIndex, int pOriIndex, FBVertex pPosDiff) |
| Get the differentiate point. |
|
| bool | ShapeGetDiffPoint (int pShapeIdx, int pDiffIndex, int pOriIndex, FBVertex pPosDiff, FBNormal pNormalDiff) |
| Get Shape Count. |
|
| str | ShapeGetName (int pShapeIdx) |
| Return the shape Name. |
|
| ShapeInit (int pShapeIdx, int pDiffSize, bool pWithNormal=False) | |
| Init the shape. |
|
| bool | ShapeSetDiffPoint (int pShapeIdx, int pDiffIndex, int pOriIndex, FBVertex pPosDiff) |
| Set the differentiate point. |
|
| bool | ShapeSetDiffPoint (int pShapeIdx, int pDiffIndex, int pOriIndex, FBVertex pPosDiff, FBNormal pNormalDiff) |
| Get Shape Count. |
|
| int | VertexAdd (FBVertex pVertex) |
| Add a vertex. |
|
| int | VertexAdd (FBVertex pVertex, FBNormal pNormal) |
| Add a vertex. |
|
| int | VertexAdd (FBVertex pVertex, FBNormal pNormal, FBUV pUV) |
| Add a vertex. |
|
| int | VertexAdd (float px, float py, float pz) |
| Add a vertex. |
|
| int | VertexAdd (float px, float py, float pz, float nx, float ny, float nz) |
| int | VertexAdd (float px, float py, float pz, float nx, float ny, float nz, float UVu, float UVv) |
| bool | VertexClear () |
| Clear all vertices. |
|
| int | VertexCount () |
| Get the number of vertices in the geometry.
|
|
| FBVertex | VertexGet (int pIndex) |
| Get a vertex. |
|
| bool | VertexGetSelected (int pIndex) |
| Get the selected state of a vertex. |
|
| bool | VertexGetTransformable (int pIndex) |
| Get the Transformable state of a vertex.
|
|
| bool | VertexGetVisible (int pIndex) |
| Get the visible state of a vertex. |
|
| VertexInit (int pSize, bool pResize, bool pInitUV=True) | |
| Resize or Reserve vertex, normal and UV
array for performance. |
|
| FBNormal | VertexNormalGet (int pIndex=-1) |
| Get a normal at a vertex. |
|
| bool | VertexNormalSet (FBNormal pVertex, int pIndex=-1) |
| Set a normal at a vertex. |
|
| bool | VertexNormalSet (float px, float py, float pz, int pIndex=-1) |
| Set a normal at a vertex. |
|
| bool | VertexSet (FBVertex pVertex, int pIndex=-1) |
| Set a vertex. |
|
| bool | VertexSet (float px, float py, float pz, int pIndex=-1) |
| Set a vertex. |
|
| bool | VertexSetSelected (int pIndex, bool pState) |
| Set the selected state of a vertex. |
|
| bool | VertexSetVisible (int pIndex, bool pState) |
| Set the visible state of a vertex. |
|
| FBUV | VertexUVGet (int pIndex=-1) |
| Get a UV coordinate. |
|
| bool | VertexUVSet (FBUV pUV, int pIndex=-1) |
| Set a UV coordinate. |
|
| bool | VertexUVSet (float pU, float pV, int pIndex=-1) |
| Set a UV coordinate. |
|
| FBGeometry | ( | str | pName | ) |
Constructor.
| pName | Name of Geometry. |
| bool GeometryBegin | ( | ) |
Begin/End geometry mapping.
| bool GeometryEnd | ( | ) |
Begin/End geometry mapping.
Add new shape.
| pName | the shape name |
| ShapeClearAll | ( | ) |
Clears all the shapes.
| int ShapeGetCount | ( | ) |
Get Shape Count.
Get the differentiate point.
| pShapeIdx | The index of the shape | |
| pDiffIndex | The index of the diff point in this shape. | |
| pOriIndex | The index of the diff point in the original geometry. | |
| pPosDiff | The position differentiation. |
| bool ShapeGetDiffPoint | ( | int | pShapeIdx, | |
| int | pDiffIndex, | |||
| int | pOriIndex, | |||
| FBVertex | pPosDiff, | |||
| FBNormal | pNormalDiff | |||
| ) |
Get Shape Count.
Init the shape.
| pShapeIdx | The index of the shape to be inited. | |
| pDiffSize | Total number of different point (pos or normal) compared to base geometry. | |
| pWithNormal | Currently normal won't be considered during shape blending. |
Set the differentiate point.
| pShapeIdx | The index of the shape | |
| pDiffIndex | The index of the diff point in this shape. | |
| pOriIndex | The index of the diff point in the original geometry. | |
| pPosDiff | The position differentiation. |
| bool ShapeSetDiffPoint | ( | int | pShapeIdx, | |
| int | pDiffIndex, | |||
| int | pOriIndex, | |||
| FBVertex | pPosDiff, | |||
| FBNormal | pNormalDiff | |||
| ) |
Get Shape Count.
Add a vertex.
| pVertex | Vertex values used to add vertex. |
Add a vertex.
| pVertex | Vertex values used to add vertex. | |
| pNormal | Normal values used to add vertex. |
Add a vertex.
| pVertex | Vertex values used to add vertex. | |
| pNormal | Normal values used to add vertex. | |
| pUV | UV values used to add vertex. |
Add a vertex.
| px | X coordinate of vertex to add. | |
| py | Y coordinate of vertex to add. | |
| pz | Z coordinate of vertex to add. |
| bool VertexClear | ( | ) |
Clear all vertices.
| int VertexCount | ( | ) |
Get the number of vertices in the geometry.
Get a vertex.
| pIndex | Index of vertex to get. |
Get the selected state of a vertex.
| pIndex | The index of the vertex |
Get the Transformable state of a vertex.
| pIndex | The index of the vertex |
Get the visible state of a vertex.
| pIndex | The index of the vertex |
Resize or Reserve vertex, normal and UV array for performance.
| pSize | Number of vertices to resize or reserve. | |
| pResize | True, for the geometry with known vertex count, we should resize the arrays to fixed size, and call VertexSet() afterwards; Flase, While for dynamic size geometry, we should only reserve the arrays with the estimated optimal size, then call VertexAdd() to dynamically increase the vertex count. | |
| pInitUV | init UV array if true. |
| FBNormal VertexNormalGet | ( | int | pIndex = -1 |
) |
Get a normal at a vertex.
| pIndex | Vertex to get normal at(default=-1). |
Set a normal at a vertex.
| pVertex | Normal to set. | |
| pIndex | Index of vertex to set Normal at(default=-1). |
Set a normal at a vertex.
| px | X coordinate of normal. | |
| py | Y coordinate of normal. | |
| pz | Z coordinate of normal. | |
| pIndex | Index of vertex to set Normal at(default=-1). |
Set a vertex.
| pVertex | Vertex values used to set vertex. | |
| pIndex | Index of vertex to affect (default=-1). |
Set a vertex.
| px | X coordinate to set. | |
| py | Y coordinate to set. | |
| pz | Z coordinate to set. | |
| pIndex | Index of vertex to set(default=-1). |
Set the selected state of a vertex.
| pIndex | The index of the vertex | |
| pState | The true to selected, false to unselect |
Set the visible state of a vertex.
| pIndex | The index of the vertex | |
| pState | The true to visible, false to unselect |
| FBUV VertexUVGet | ( | int | pIndex = -1 |
) |
Get a UV coordinate.
| pIndex | Index of Vertex to get UV coordinate for(default=-1). |
Set a UV coordinate.
| pUV | UV coordinate to set. | |
| pIndex | Index of Vertex to affect with UV coordinate(default=-1). |
Set a UV coordinate.
| pU | U coordinate to set. | |
| pV | V coordinate to set. | |
| pIndex | Index of Vertex to affect with UV coordinate(default=-1). |
1.5.3