Public Member Functions | Protected Member Functions

FBGeometry Class Reference

This reference page is linked to from the following overview topics: MotionBuilder 2014, Scene Elements, FBGeometry - Meshes and Surfaces.


Search for all occurrences

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 support FBGeometryMapping_ALL_SAME or kFBGeometryMapping_BY_POLYGON for material, and kFBGeometryMapping_BY_CONTROL_POINT for Normal, Tangent, Binormal, Color and UV. Only one set of UV could be supported.

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.

Definition at line 175 of file fbgeometry.h.

#include <fbgeometry.h>

Inheritance diagram for FBGeometry:
Inheritance graph
[legend]

List of all members.

Public Member Functions

void VertexInit (int pSize, bool pResize, bool pInitUV=true, bool pInitVertexColor=false)
 Resize or Reserve vertex, normal and UV array for performance.
bool VertexClear ()
 Clear all Vertex arrays.
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 (FBVertex pVertex, FBNormal pNormal, FBUV pUV, FBColorF pVertexColor)
 Add a vertex.
int VertexAdd (double px, double py, double pz)
 Add a vertex.
int VertexAdd (double px, double py, double pz, double nx, double ny, double nz)
int VertexAdd (double px, double py, double pz, double nx, double ny, double nz, double UVu, double UVv)
int VertexAdd (double px, double py, double pz, double nx, double ny, double nz, double UVu, double UVv, double pRed, double pGreen, double pBlue, double pAlpha)
bool VertexSet (FBVertex pVertex, int pIndex=-1)
 Set a vertex.
bool VertexSet (double px, double py, double pz, int pIndex=-1)
 Set a vertex.
bool VertexNormalSet (FBNormal pVertex, int pIndex=-1)
 Set a normal at a vertex.
bool VertexNormalSet (double px, double py, double pz, int pIndex=-1)
 Set a normal at a vertex.
bool VertexUVSet (FBUV pUV, int pIndex=-1)
 Set a UV coordinate.
bool VertexUVSet (float pU, float pV, int pIndex=-1)
 Set a UV coordinate.
bool VertexColorSet (FBColorF pColor, int pIndex=-1)
 Set a Vertex Color.
bool VertexColorSet (float pRed, float pGreen, float pBlue, float pAlpha, int pIndex=-1)
 Set a UV coordinate.
Simple Geometry Editing Interface:

Geometries created with SDK can only use the kFBGeometryMapping_ALL_SAME or kFBGeometryMapping_BY_POLYGON mapping mode for material, kFBGeometryMapping_BY_CONTROL_POINT / kFBGeometryReference_DIRECT for Normal, UV, Color, Tangent and Binormal.

And only support one set of UV

bool GeometryBegin ()
 Begin geometry editing.
bool GeometryEnd ()
 End geometry editing.
bool IsEditingEnabled () const
 Is geometry editing enabled.
Query interface for Vertex's Position, Normal, UV of default set.
int VertexCount () const
 Get the number of vertices in the geometry.
FBVertex VertexGet (int pIndex) const
 Get a vertex.
FBVertexGetVertexes () const
 Get a pointer to the array of vertexes.
FBNormal VertexNormalGet (int pIndex=-1) const
 Get a normal at a vertex.
FBUV VertexUVGet (int pIndex=-1) const
 Get a UV coordinate.
FBColorF VertexColorGet (int pIndex=-1) const
 Get a Vertex Color.
Vertex Selection/Manipulation Interface.
bool VertexGetSelected (int pIndex)
 Get the selected state of a vertex.
bool VertexSetSelected (int pIndex, bool pState)
 Set the selected state of a vertex.
bool VertexGetVisible (int pIndex)
 Get the visible state of a vertex.
bool VertexSetVisible (int pIndex, bool pState)
 Set the visible state of a vertex.
bool VertexGetTransformable (int pIndex)
 Get the Transformable state of a vertex.
Shape Management Interface
int ShapeGetCount () const
 Get Shape Count.
const char * ShapeGetName (int pShapeIdx) const
 Return the shape Name.
int ShapeAdd (const char *pName)
 Add new shape.
void ShapeClearAll ()
 Clears all the shapes.
void ShapeInit (int pShapeIdx, int pDiffSize, bool pWithNormal=false)
 Init the shape.
int ShapeGetDiffPointCount (int pShapeIdx) const
 Return the shape's total diff points count.
bool ShapeSetDiffPoint (int pShapeIdx, int pDiffIndex, int pOriIndex, const FBVertex &pPosDiff)
 Set the differentiate point.
bool ShapeSetDiffPoint (int pShapeIdx, int pDiffIndex, int pOriIndex, const FBVertex &pPosDiff, const FBNormal &pNormalDiff)
 Set the differentiate point.
bool ShapeGetDiffPoint (int pShapeIdx, int pDiffIndex, int &pOriIndex, FBVertex &pPosDiff) const
 Get the differentiate point.
bool ShapeGetDiffPoint (int pShapeIdx, int pDiffIndex, int &pOriIndex, FBVertex &pPosDiff, FBNormal &pNormalDiff) const
 Get the differentiate point.
Geometry Editing Notification
void ModifyNotify (kFBGeometryUpdateFlags pFlags=kFBGeometryUpdateAll, int pFirstIndex=-1, int pLastIndex=-1)
 The geometry has change, update the necessary flags.

Protected Member Functions

 FBGeometry (const char *pName, HIObject pObject=NULL)
 Constructor.

Interface for direct manipulating Geometry Position, Normal, Color, UV and Material arrays.

FBPropertyGeometryMappingMode NormalMappingMode
 Read Only Property: Normal mapping mode.
FBPropertyGeometryReferenceMode NormalReferenceMode
 Read Only Property: Normal reference mode.
FBPropertyGeometryMappingMode TangentMappingMode
 Read Only Property: Tangent mapping mode.
FBPropertyGeometryReferenceMode TangentReferenceMode
 Read Only Property: Tangent reference mode.
FBPropertyGeometryMappingMode BinormalMappingMode
 Read Only Property: Binormal mapping mode.
FBPropertyGeometryReferenceMode BinormalReferenceMode
 Read Only Property: Binormal reference mode.
FBPropertyGeometryMappingMode VertexColorMappingMode
 Read Only Property: Vertex Color mapping mode.
FBPropertyGeometryReferenceMode VertexColorReferenceMode
 Read Only Property: Vertex Color reference mode.
FBPropertyGeometryMappingMode MaterialMappingMode
 Read Property: Material mapping mode.
bool VertexArrayInit (int pVertexcount, bool pUniqueMaterial, unsigned int pFBGeometryArrayIDs=0)
 Init geometry vertex arrays.
bool VertexArrayClear ()
 Clear all geometry vertex arrays.
FBVertexGetPositionsArray (int &pOutArrayCount) const
 Get a pointer to the position array.
int * GetNormalsIndexArray (int &pOutArrayCount) const
 Get a pointer to the index array of normals.
FBNormalGetNormalsDirectArray (int &pOutArrayCount) const
 Get a pointer to the direct array of normals.
int * GetTangentsIndexArray (int &pOutArrayCount) const
 Get a pointer to the index array of tangents.
FBNormalGetTangentsDirectArray (int &pOutArrayCount) const
 Get a pointer to the direct array of tangents.
int * GetBinormalsIndexArray (int &pOutArrayCount) const
 Get a pointer to the index array of binormals.
FBNormalGetBinormalsDirectArray (int &pOutArrayCount) const
 Get a pointer to the direct array of binormals.
int * GetVertexColorsIndexArray (int &pOutArrayCount) const
 Get a pointer to the index array of vertex color.
FBColorFGetVertexColorsDirectArray (int &pOutArrayCount) const
 Get a pointer to the direct array of vertex color.
FBStringList GetUVSets () const
 Get available UVSet name.
FBGeometryMappingMode GetUVSetMappingMode (const char *pUVSetName=NULL) const
 Get UVSet mapping mode.
FBGeometryReferenceMode GetUVSetReferenceMode (const char *pUVSetName=NULL) const
 Get UVSet reference mode.
int * GetUVSetIndexArray (int &pOutArrayCount, const char *pUVSetName=NULL) const
 Get a pointer to the index array of UVset.
FBUVGetUVSetDirectArray (int &pOutArrayCount, const char *pUVSetName=NULL) const
 Get a pointer to the direct array of UVset Modify array value will be only effective when geometry editing is enabled.
int * GetMaterialIndexArray (int &pOutArrayCount) const
 Get a pointer to the index array of Material.

Constructor & Destructor Documentation

FBGeometry ( const char *  pName,
HIObject  pObject = NULL 
) [protected]

Constructor.

Parameters:
pNameName of Geometry.
pObjectFor internal use only(default=NULL).

Member Function Documentation

bool GeometryBegin ( )

Begin geometry editing.

Returns:
true if successful.
bool GeometryEnd ( )

End geometry editing.

Returns:
true if successful.
bool IsEditingEnabled ( ) const

Is geometry editing enabled.

Returns:
true if enabled.
void VertexInit ( int  pSize,
bool  pResize,
bool  pInitUV = true,
bool  pInitVertexColor = false 
)

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

Parameters:
pSizeNumber of vertices to resize or reserve.
pResizeTrue, for the geometry with known vertex count, we should resize the arrays to fixed size, and call VertexSet() afterwards; False, 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.
pInitUVinit Vertex UV array if true
pInitVertexColorInit Vertex Color Array if true.
bool VertexClear ( )

Clear all Vertex arrays.

Call this function to clear Position, Normal, UV, Color and etc vertex arrays, and it won't affect geometry's topology (polygon, Surface and etc.,).

Returns:
true if successful.
int VertexAdd ( FBVertex  pVertex)

Add a vertex.

Parameters:
pVertexVertex 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:
pVertexVertex values used to add vertex.
pNormalNormal values used to add vertex.
Returns:
Index where vertex was added.
int VertexAdd ( FBVertex  pVertex,
FBNormal  pNormal,
FBUV  pUV 
)

Add a vertex.

Parameters:
pVertexVertex values used to add vertex.
pNormalNormal values used to add vertex.
pUVUV values used to add vertex.
Returns:
Index where vertex was added.
int VertexAdd ( FBVertex  pVertex,
FBNormal  pNormal,
FBUV  pUV,
FBColorF  pVertexColor 
)

Add a vertex.

Parameters:
pVertexVertex values used to add vertex.
pNormalNormal values used to add vertex.
pUVUV values used to add vertex.
pVertexColorColor values used to add vertex.
Returns:
Index where vertex was added.
int VertexAdd ( double  px,
double  py,
double  pz 
)

Add a vertex.

Parameters:
pxX coordinate of vertex to add.
pyY coordinate of vertex to add.
pzZ coordinate of vertex to add.
Returns:
Index where vertex was added.
Remarks:
Set Normal with default value
int VertexAdd ( double  px,
double  py,
double  pz,
double  nx,
double  ny,
double  nz 
)
int VertexAdd ( double  px,
double  py,
double  pz,
double  nx,
double  ny,
double  nz,
double  UVu,
double  UVv 
)
int VertexAdd ( double  px,
double  py,
double  pz,
double  nx,
double  ny,
double  nz,
double  UVu,
double  UVv,
double  pRed,
double  pGreen,
double  pBlue,
double  pAlpha 
)
bool VertexSet ( FBVertex  pVertex,
int  pIndex = -1 
)

Set a vertex.

Parameters:
pVertexVertex values used to set vertex.
pIndexIndex of vertex to affect (default=-1).
Returns:
true if successful.
bool VertexSet ( double  px,
double  py,
double  pz,
int  pIndex = -1 
)

Set a vertex.

Parameters:
pxX coordinate to set.
pyY coordinate to set.
pzZ coordinate to set.
pIndexIndex of vertex to set(default=-1).
Returns:
true if successful.
bool VertexNormalSet ( FBNormal  pVertex,
int  pIndex = -1 
)

Set a normal at a vertex.

Parameters:
pVertexNormal to set.
pIndexIndex of vertex to set Normal at(default=-1).
Returns:
true if successful.
bool VertexNormalSet ( double  px,
double  py,
double  pz,
int  pIndex = -1 
)

Set a normal at a vertex.

Parameters:
pxX coordinate of normal.
pyY coordinate of normal.
pzZ coordinate of normal.
pIndexIndex of vertex to set Normal at(default=-1).
Returns:
true if successful.
bool VertexUVSet ( FBUV  pUV,
int  pIndex = -1 
)

Set a UV coordinate.

Parameters:
pUVUV coordinate to set.
pIndexIndex 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:
pUU coordinate to set.
pVV coordinate to set.
pIndexIndex of Vertex to affect with UV coordinate(default=-1).
Returns:
true if successful.
bool VertexColorSet ( FBColorF  pColor,
int  pIndex = -1 
)

Set a Vertex Color.

Parameters:
pColorVertex Color to set.
pIndexIndex of Vertex to affect with pColor(default=-1).
Returns:
true if successful.
bool VertexColorSet ( float  pRed,
float  pGreen,
float  pBlue,
float  pAlpha,
int  pIndex = -1 
)

Set a UV coordinate.

Parameters:
pRedRed Color Channel to set, range [0, 1].
pGreenGreen Color Channel to set, range [0, 1].
pBlueBlue Color Channel to set, range [0, 1].
pAlphaAlpha Color Channel to set, range [0, 1].
pIndexIndex of Vertex to affect with Red, Green, Blue and Alpha (default=-1).
Returns:
true if successful.
int VertexCount ( ) const

Get the number of vertices in the geometry.

Returns:
Number of vertices in the geometry.
FBVertex VertexGet ( int  pIndex) const

Get a vertex.

Parameters:
pIndexIndex of vertex to get.
Returns:
Vertex stored at pIndex.
FBVertex* GetVertexes ( ) const

Get a pointer to the array of vertexes.

Returns:
pointer to the array of vertexes, or NULL if the array has not been allocated.
FBNormal VertexNormalGet ( int  pIndex = -1) const

Get a normal at a vertex.

Parameters:
pIndexVertex to get normal at(default=-1).
Returns:
Normal of vertex at pIndex.
FBUV VertexUVGet ( int  pIndex = -1) const

Get a UV coordinate.

Parameters:
pIndexIndex of Vertex to get UV coordinate for(default=-1).
Returns:
UV coordinate of vertex at UVSetIndex.
FBColorF VertexColorGet ( int  pIndex = -1) const

Get a Vertex Color.

Parameters:
pIndexIndex of Vertex to get Color for(default=-1).
Returns:
Color of vertex at UVSetIndex.
bool VertexArrayInit ( int  pVertexcount,
bool  pUniqueMaterial,
unsigned int  pFBGeometryArrayIDs = 0 
)

Init geometry vertex arrays.

Init position, normal and UV arrays (tangent, bi-normal and color on demand) with kFBGeometryMapping_BY_CONTROL_POINT / kFBGeometryReference_DIRECT mode. Will call VertexArrayClear() internally. User should then call GetXXXDirectyArray() to edit the vertex attributes directly.

Parameters:
pVertexcountnumber of control points (vertex)
pUniqueMaterialUser could specify per polygon mapping mode for mesh
pFBGeometryArrayIDsRequest to init other attribute arrays, bitwise combined value of FBGeometryArrayID enum items, currently support Tangent, Binormal and VertexColor. Only useful for mesh.
bool VertexArrayClear ( )

Clear all geometry vertex arrays.

Call this function to clear Position, Normal, UV, Color and etc vertex arrays, and it won't affect geometry's topology (polygon, Surface and etc.,).

Returns:
true if successful.
FBVertex* GetPositionsArray ( int &  pOutArrayCount) const

Get a pointer to the position array.

Modify array value will be only effective when geometry editing is enabled.

See also:
GeometryBegin()/GeometryEnd()
Parameters:
pOutArrayCountTo return the length the array.
Returns:
Pointer to index array of normals, or NULL if the array hasn't been allocated yet.
int* GetNormalsIndexArray ( int &  pOutArrayCount) const

Get a pointer to the index array of normals.

Modify array value will be only effective when geometry editing is enabled.

See also:
GeometryBegin()/GeometryEnd()
Parameters:
pOutArrayCountTo return the length the array.
Returns:
Pointer to index array of normals, or NULL if the array hasn't been allocated yet.
FBNormal* GetNormalsDirectArray ( int &  pOutArrayCount) const

Get a pointer to the direct array of normals.

Modify array value will be only effective when geometry editing is enabled.

See also:
GeometryBegin()/GeometryEnd()
Parameters:
pOutArrayCountTo return the length the array.
Returns:
Pointer to direct array of normals, or NULL if the array hasn't been allocated yet.
int* GetTangentsIndexArray ( int &  pOutArrayCount) const

Get a pointer to the index array of tangents.

Modify array value will be only effective when geometry editing is enabled.

See also:
GeometryBegin()/GeometryEnd()
Parameters:
pOutArrayCountTo return the length the array.
Returns:
Pointer to index array of tangents, or NULL if the array hasn't been allocated yet.
FBNormal* GetTangentsDirectArray ( int &  pOutArrayCount) const

Get a pointer to the direct array of tangents.

Modify array value will be only effective when geometry editing is enabled.

See also:
GeometryBegin()/GeometryEnd()
Parameters:
pOutArrayCountTo return the length the array.
Returns:
Pointer to direct array of tangents, or NULL if the array hasn't been allocated yet.
int* GetBinormalsIndexArray ( int &  pOutArrayCount) const

Get a pointer to the index array of binormals.

Modify array value will be only effective when geometry editing is enabled.

See also:
GeometryBegin()/GeometryEnd()
Parameters:
pOutArrayCountTo return the length the array.
Returns:
Pointer to index array of binormals, or NULL if the array hasn't been allocated yet.
FBNormal* GetBinormalsDirectArray ( int &  pOutArrayCount) const

Get a pointer to the direct array of binormals.

Modify array value will be only effective when geometry editing is enabled.

See also:
GeometryBegin()/GeometryEnd()
Parameters:
pOutArrayCountTo return the length the array.
Returns:
Pointer to direct array of binormals, or NULL if the array hasn't been allocated yet.
int* GetVertexColorsIndexArray ( int &  pOutArrayCount) const

Get a pointer to the index array of vertex color.

Modify array value will be only effective when geometry editing is enabled.

See also:
GeometryBegin()/GeometryEnd()
Parameters:
pOutArrayCountTo return the length the array.
Returns:
Pointer to index array of vertex color, or NULL if the array hasn't been allocated yet.
FBColorF* GetVertexColorsDirectArray ( int &  pOutArrayCount) const

Get a pointer to the direct array of vertex color.

Modify array value will be only effective when geometry editing is enabled.

See also:
GeometryBegin()/GeometryEnd()
Parameters:
pOutArrayCountTo return the length the array.
Returns:
Pointer to direct array of vertex colors, or NULL if the array hasn't been allocated yet.
FBStringList GetUVSets ( ) const

Get available UVSet name.

Returns:
StringList contain all the available UVSets' name.
FBGeometryMappingMode GetUVSetMappingMode ( const char *  pUVSetName = NULL) const

Get UVSet mapping mode.

Parameters:
pUVSetNameThe name of UVset, NULL for the first UVset.
Returns:
Mapping mode of the UVset.
FBGeometryReferenceMode GetUVSetReferenceMode ( const char *  pUVSetName = NULL) const

Get UVSet reference mode.

Parameters:
pUVSetNameThe name of UVset, NULL for the first UVset.
Returns:
Reference mode of the UVset.
int* GetUVSetIndexArray ( int &  pOutArrayCount,
const char *  pUVSetName = NULL 
) const

Get a pointer to the index array of UVset.

Modify array value will be only effective when geometry editing is enabled.

See also:
GeometryBegin()/GeometryEnd()
Parameters:
pOutArrayCountTo return the length the array.
pUVSetNameThe name of UVset, NULL for the first UVset.
Returns:
Pointer to index array of UVSet, or NULL if the array hasn't been allocated yet.
FBUV* GetUVSetDirectArray ( int &  pOutArrayCount,
const char *  pUVSetName = NULL 
) const

Get a pointer to the direct array of UVset Modify array value will be only effective when geometry editing is enabled.

See also:
GeometryBegin()/GeometryEnd()
Parameters:
pOutArrayCountTo return the length the array.
pUVSetNameThe name of UVset, NULL for the first UVset.
Returns:
pointer to the array of UV, or NULL is the array hasn't been allocated yet.
int* GetMaterialIndexArray ( int &  pOutArrayCount) const

Get a pointer to the index array of Material.

Modify array value will be only effective when geometry editing is enabled.

See also:
GeometryBegin()/GeometryEnd()
Parameters:
pOutArrayCountTo return the length the array.
Returns:
Pointer to index array of Material, or NULL if the array hasn't been allocated yet.
bool VertexGetSelected ( int  pIndex)

Get the selected state of a vertex.

Parameters:
pIndexThe index of the vertex
Returns:
true if the vertex is selected, false if not
bool VertexSetSelected ( int  pIndex,
bool  pState 
)

Set the selected state of a vertex.

Parameters:
pIndexThe index of the vertex
pStateThe true to selected, false to deselect
Returns:
true if the vertex is selected, false if not
bool VertexGetVisible ( int  pIndex)

Get the visible state of a vertex.

Parameters:
pIndexThe index of the vertex
Returns:
true if the vertex is visible, false if not
bool VertexSetVisible ( int  pIndex,
bool  pState 
)

Set the visible state of a vertex.

Parameters:
pIndexThe index of the vertex
pStatetrue to be visible
Returns:
true if the vertex is visible, false if not
bool VertexGetTransformable ( int  pIndex)

Get the Transformable state of a vertex.

Parameters:
pIndexThe index of the vertex
Returns:
true if the vertex is Transformable, false if not
int ShapeGetCount ( ) const

Get Shape Count.

const char* ShapeGetName ( int  pShapeIdx) const

Return the shape Name.

int ShapeAdd ( const char *  pName)

Add new shape.

Parameters:
pNamethe shape name
Returns:
the index of the new shape, -1 if the shape adding fail.
void ShapeClearAll ( )

Clears all the shapes.

void ShapeInit ( int  pShapeIdx,
int  pDiffSize,
bool  pWithNormal = false 
)

Init the shape.

Parameters:
pShapeIdxThe index of the shape to be initialized
pDiffSizeTotal number of different point (pos or normal) compared to base geometry.
pWithNormalCurrently normal won't be considered during shape blending.
int ShapeGetDiffPointCount ( int  pShapeIdx) const

Return the shape's total diff points count.

Parameters:
pShapeIdxThe index of the shape
bool ShapeSetDiffPoint ( int  pShapeIdx,
int  pDiffIndex,
int  pOriIndex,
const FBVertex pPosDiff 
)

Set the differentiate point.

Parameters:
pShapeIdxThe index of the shape
pDiffIndexThe index of the diff point in this shape.
pOriIndexThe index of the diff point in the original geometry.
pPosDiffThe position differentiation.
bool ShapeSetDiffPoint ( int  pShapeIdx,
int  pDiffIndex,
int  pOriIndex,
const FBVertex pPosDiff,
const FBNormal pNormalDiff 
)

Set the differentiate point.

Parameters:
pShapeIdxThe index of the shape
pDiffIndexThe index of the diff point in this shape.
pOriIndexThe index of the diff point in the original geometry.
pPosDiffThe position differentiation.
pNormalDiffThe normal differentiation.
bool ShapeGetDiffPoint ( int  pShapeIdx,
int  pDiffIndex,
int &  pOriIndex,
FBVertex pPosDiff 
) const

Get the differentiate point.

Parameters:
pShapeIdxThe index of the shape
pDiffIndexThe index of the diff point in this shape.
pOriIndexThe index of the diff point in the original geometry.
pPosDiffThe position differentiation.
bool ShapeGetDiffPoint ( int  pShapeIdx,
int  pDiffIndex,
int &  pOriIndex,
FBVertex pPosDiff,
FBNormal pNormalDiff 
) const

Get the differentiate point.

Parameters:
pShapeIdxThe index of the shape
pDiffIndexThe index of the diff point in this shape.
pOriIndexThe index of the diff point in the original geometry.
pPosDiffThe position differentiation.
pNormalDiffThe normal differentiation.
void ModifyNotify ( kFBGeometryUpdateFlags  pFlags = kFBGeometryUpdateAll,
int  pFirstIndex = -1,
int  pLastIndex = -1 
)

The geometry has change, update the necessary flags.

Parameters:
pFlagsflags for the kind of update that was done.
pFirstIndexCorrespond to the start index of modification of points or normals.
pLastIndexCorrespond to the last index of modification of points or normals.

Member Data Documentation

FBPropertyGeometryMappingMode NormalMappingMode

Read Only Property: Normal mapping mode.

Definition at line 412 of file fbgeometry.h.

FBPropertyGeometryReferenceMode NormalReferenceMode

Read Only Property: Normal reference mode.

Definition at line 413 of file fbgeometry.h.

FBPropertyGeometryMappingMode TangentMappingMode

Read Only Property: Tangent mapping mode.

Definition at line 429 of file fbgeometry.h.

FBPropertyGeometryReferenceMode TangentReferenceMode

Read Only Property: Tangent reference mode.

Definition at line 430 of file fbgeometry.h.

FBPropertyGeometryMappingMode BinormalMappingMode

Read Only Property: Binormal mapping mode.

Definition at line 446 of file fbgeometry.h.

FBPropertyGeometryReferenceMode BinormalReferenceMode

Read Only Property: Binormal reference mode.

Definition at line 447 of file fbgeometry.h.

FBPropertyGeometryMappingMode VertexColorMappingMode

Read Only Property: Vertex Color mapping mode.

Definition at line 463 of file fbgeometry.h.

FBPropertyGeometryReferenceMode VertexColorReferenceMode

Read Only Property: Vertex Color reference mode.

Definition at line 464 of file fbgeometry.h.

FBPropertyGeometryMappingMode MaterialMappingMode

Read Property: Material mapping mode.

Definition at line 513 of file fbgeometry.h.


The documentation for this class was generated from the following file:

FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry
FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry FBGeometry