FBGeometry Class Reference

FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry
Inheritance diagram for FBGeometry:
Inheritance graph
[legend]

List of all members.


Detailed Description

Geometry class.

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.

See sample: ShapeCreation.py.


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.

Constructor & Destructor Documentation

FBGeometry ( str  pName  ) 

Constructor.

Parameters:
pName  Name of Geometry.

Member Function Documentation

bool GeometryBegin (  ) 

Begin/End geometry mapping.

Returns:
true if successful.

bool GeometryEnd (  ) 

Begin/End geometry mapping.

Returns:
true if successful.

int ShapeAdd ( str  pName  ) 

Add new shape.

Parameters:
pName  the shape name
Returns:
the index of the new shape, -1 if the shape adding fail.

ShapeClearAll (  ) 

Clears all the shapes.

int ShapeGetCount (  ) 

Get Shape Count.

bool ShapeGetDiffPoint ( int  pShapeIdx,
int  pDiffIndex,
int  pOriIndex,
FBVertex  pPosDiff  
)

Get the differentiate point.

Parameters:
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.

str ShapeGetName ( int  pShapeIdx  ) 

Return the shape Name.

ShapeInit ( int  pShapeIdx,
int  pDiffSize,
bool  pWithNormal = False  
)

Init the shape.

Parameters:
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.

bool ShapeSetDiffPoint ( int  pShapeIdx,
int  pDiffIndex,
int  pOriIndex,
FBVertex  pPosDiff  
)

Set the differentiate point.

Parameters:
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.

int VertexAdd ( FBVertex  pVertex  ) 

Add a vertex.

Parameters:
pVertex  Vertex values used to add vertex.
Returns:
Index where vertex was added.
Remarks:
Set Normal with default value

int VertexAdd ( FBVertex  pVertex,
FBNormal  pNormal  
)

Add a vertex.

Parameters:
pVertex  Vertex values used to add vertex.
pNormal  Normal values used to add vertex.
Returns:
Index where vertex was added.

int VertexAdd ( FBVertex  pVertex,
FBNormal  pNormal,
FBUV  pUV  
)

Add a vertex.

Parameters:
pVertex  Vertex values used to add vertex.
pNormal  Normal values used to add vertex.
pUV  UV values used to add vertex.
Returns:
Index where vertex was added.

int VertexAdd ( float  px,
float  py,
float  pz  
)

Add a vertex.

Parameters:
px  X coordinate of vertex to add.
py  Y coordinate of vertex to add.
pz  Z coordinate of vertex to add.
Returns:
Index where vertex was added.
Remarks:
Set Normal with default value

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.

Returns:
true if successful.
Remarks:
Clear normal, UV and material as well.

int VertexCount (  ) 

Get the number of vertices in the geometry.

Returns:
Number of vertices in the geometry.

FBVertex VertexGet ( int  pIndex  ) 

Get a vertex.

Parameters:
pIndex  Index of vertex to get.
Returns:
Vertex stored at pIndex.

bool VertexGetSelected ( int  pIndex  ) 

Get the selected state of a vertex.

Parameters:
pIndex  The index of the vertex
Returns:
true if the vertex is selected.false if not

bool VertexGetTransformable ( int  pIndex  ) 

Get the Transformable state of a vertex.

Parameters:
pIndex  The index of the vertex
Returns:
true if the vertex is Transformable.false if not

bool VertexGetVisible ( int  pIndex  ) 

Get the visible state of a vertex.

Parameters:
pIndex  The index of the vertex
Returns:
true if the vertex is visible.false if not

VertexInit ( int  pSize,
bool  pResize,
bool  pInitUV = True  
)

Resize or Reserve vertex, normal and UV array for performance.

Parameters:
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.

Parameters:
pIndex  Vertex to get normal at(default=-1).
Returns:
Normal of vertex at pIndex.

bool VertexNormalSet ( FBNormal  pVertex,
int  pIndex = -1  
)

Set a normal at a vertex.

Parameters:
pVertex  Normal to set.
pIndex  Index of vertex to set Normal at(default=-1).
Returns:
true if successful.

bool VertexNormalSet ( float  px,
float  py,
float  pz,
int  pIndex = -1  
)

Set a normal at a vertex.

Parameters:
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).
Returns:
true if successful.

bool VertexSet ( FBVertex  pVertex,
int  pIndex = -1  
)

Set a vertex.

Parameters:
pVertex  Vertex values used to set vertex.
pIndex  Index of vertex to affect (default=-1).
Returns:
true if successful.

bool VertexSet ( float  px,
float  py,
float  pz,
int  pIndex = -1  
)

Set a vertex.

Parameters:
px  X coordinate to set.
py  Y coordinate to set.
pz  Z coordinate to set.
pIndex  Index of vertex to set(default=-1).
Returns:
true if successful.

bool VertexSetSelected ( int  pIndex,
bool  pState  
)

Set the selected state of a vertex.

Parameters:
pIndex  The index of the vertex
pState  The true to selected, false to unselect
Returns:
true if the vertex is selected.false if not

bool VertexSetVisible ( int  pIndex,
bool  pState  
)

Set the visible state of a vertex.

Parameters:
pIndex  The index of the vertex
pState  The true to visible, false to unselect
Returns:
true if the vertex is visible.false if not

FBUV VertexUVGet ( int  pIndex = -1  ) 

Get a UV coordinate.

Parameters:
pIndex  Index of Vertex to get UV coordinate for(default=-1).
Returns:
UV coordinate of vertex at UVSetIndex.

bool VertexUVSet ( FBUV  pUV,
int  pIndex = -1  
)

Set a UV coordinate.

Parameters:
pUV  UV coordinate to set.
pIndex  Index of Vertex to affect with UV coordinate(default=-1).
Returns:
true if successful.

bool VertexUVSet ( float  pU,
float  pV,
int  pIndex = -1  
)

Set a UV coordinate.

Parameters:
pU  U coordinate to set.
pV  V coordinate to set.
pIndex  Index of Vertex to affect with UV coordinate(default=-1).
Returns:
true if successful.

Generated on Tue Feb 9 19:34:22 2010 for Python Reference Guide by  doxygen 1.5.3