Public Member Functions | Public Attributes | Protected Member Functions

FbxGeometryBase Class Reference

This reference page is linked to from the following overview topics: FBX SDK 2013, List of Python Fbx classes.


Search for all occurrences

Detailed Description

This class is the base class for geometric object such as meshes, NURBS and patches.

Use the FbxGeometryBase class to manage the control points, normals, binormals and tangents of the geometries. The meaning of "control point" is dependent of the geometry object type. For meshes, the "control point" is the physical 3D coordinate of polygon vertices while, for NURBS, it is the the actual control point on the curves defining the surface. This class also allow you to define normals, binormals and tangents regardless of the type of geometric object. However, in reality, applying such definitions to NURBS and patches does not make much sense since these definitions would only exist at the control points and inbetween them, the interpolation would certainly not follow the curve.

Geometric objects are using a system of layered data to extend their construction definition. For example, a typical layer for a Mesh contains Normals, UVs and Materials but client applications can decide to define another set of Normals and UVs and swap them during the rendering phase to produce some different results. The combinations are limitless and it would be impossible to discuss them all. This example has been presented to show one possible context where layers can be used. More information can be found in the FbxLayerContainer and FbxLayer classes description.

Definition at line 41 of file fbxgeometrybase.h.

#include <fbxgeometrybase.h>

Inheritance diagram for FbxGeometryBase:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual int MemoryUsage () const
 Calculate the actual amount of memory used by this geometry object.
virtual FbxObjectCopy (const FbxObject &pObject)
 Copy an object content into this object.
bool GetNormals (FbxLayerElementArrayTemplate< FbxVector4 > **pLockableArray) const
bool GetNormalsIndices (FbxLayerElementArrayTemplate< int > **pLockableArray) const
bool GetTangents (FbxLayerElementArrayTemplate< FbxVector4 > **pLockableArray, const int pLayerIndex=0) const
bool GetTangentsIndices (FbxLayerElementArrayTemplate< int > **pLockableArray, const int pLayerIndex=0) const
bool GetBinormals (FbxLayerElementArrayTemplate< FbxVector4 > **pLockableArray, const int pLayerIndex=0) const
bool GetBinormalsIndices (FbxLayerElementArrayTemplate< int > **pLockableArray, const int pLayerIndex=0) const

Public Attributes

FbxArray< FbxVector4mControlPoints

Protected Member Functions

virtual void ConstructProperties (bool pForceSet)
 Optional property constructor override, automatically called by default constructor.
virtual void ContentClear ()
 Clears this object's content from memory.

Control Points, Normals, Binormals and Tangent Management.

virtual void InitControlPoints (int pCount)
 Allocates memory space for the array of control points.
void InitNormals (int pCount=0)
 Allocates memory space for the array of normals.
void InitNormals (FbxGeometryBase *pSrc)
 Allocates memory space for the array of normals cloned from the pSrc.
void InitTangents (int pCount=0, const int pLayerIndex=0, const char *pName="")
 Allocates memory space for the array of tangents on specified layer.
void InitTangents (FbxGeometryBase *pSrc, const int pLayerIndex=0)
 Allocates memory space for the array of tangents cloned from the pSrc on the specified layer.
void InitBinormals (int pCount=0, const int pLayerIndex=0, const char *pName="")
 Allocates memory space for the array of binormals.
void InitBinormals (FbxGeometryBase *pSrc, const int pLayerIndex=0)
 Allocates memory space for the array of binormals cloned from the pSrc.
virtual void SetControlPointAt (const FbxVector4 &pCtrlPoint, const FbxVector4 &pNormal, int pIndex, bool pI2DSearch=false)
 Sets the control point and the normal values at the specified index.
virtual void SetControlPointAt (const FbxVector4 &pCtrlPoint, int pIndex)
 Sets the control point at a specified index.
virtual FbxVector4 GetControlPointAt (int pIndex) const
 Gets the control point at the specified index.
virtual void SetControlPointNormalAt (const FbxVector4 &pNormal, int pIndex, bool pI2DSearch=false)
 Sets the control point normal value at the specified index.
virtual int GetControlPointsCount () const
 Returns the number of control points.
virtual FbxVector4GetControlPoints () const
 Returns a pointer to the array of control points.
virtual void SetControlPointCount (int pCount)
 Allocates memory space for the array of control points.

Public and fast access Properties

FbxPropertyT< FbxBoolPrimaryVisibility
 Control the geometry render state. Geometry can still cast shadows even if this is turned off.
FbxPropertyT< FbxBoolCastShadow
 If true, the geometry will produce shadows.
FbxPropertyT< FbxBoolReceiveShadow
 If true, the geometry will receive shadows.
FbxPropertyT< FbxDouble3BBoxMin
 The minimum value of the control points bounding box.
FbxPropertyT< FbxDouble3BBoxMax
 The maximum value of the control points bounding box.
void ComputeBBox ()
 Computes the control points Bounding box.

Geometry Element Management.

A FbxGeometryElement describes how the geometry element (normals, UVs and etc.) is mapped to a geometry surface and how the mapping information is arranged in memory.FbxGeometryElement is exactly the same as FbxLayerElement but does not expose the geometry's layer information. Use the geometry element classes to decompose the geometry without dealing with layers.
FbxGeometryElementNormalCreateElementNormal ()
 Creates a normal geometry element for this geometry.
bool RemoveElementNormal (FbxGeometryElementNormal *pElementNormal)
 Remove the normal geometry element from this geometry.
FbxGeometryElementNormalGetElementNormal (int pIndex=0)
 Returns this geometry's normal element.
const FbxGeometryElementNormalGetElementNormal (int pIndex=0) const
 Returns this geometry's normal element.
int GetElementNormalCount () const
 Get the number of this geometry's normal geometry element.
FbxGeometryElementBinormalCreateElementBinormal ()
 Creates a binormal geometry element for this geometry.
bool RemoveElementBinormal (FbxGeometryElementBinormal *pElementBinormal)
 Remove the binormal geometry element from this geometry.
FbxGeometryElementBinormalGetElementBinormal (int pIndex=0)
 Returns this geometry's binormal element.
const FbxGeometryElementBinormalGetElementBinormal (int pIndex=0) const
 Returns this geometry's binormal element.
int GetElementBinormalCount () const
 Get the number of this geometry's binormal geometry element.
FbxGeometryElementTangentCreateElementTangent ()
 Creates a tangent geometry element for this geometry.
bool RemoveElementTangent (FbxGeometryElementTangent *pElementTangent)
 Remove the tangent geometry element from this geometry.
FbxGeometryElementTangentGetElementTangent (int pIndex=0)
 Returns this geometry's tangent element.
const FbxGeometryElementTangentGetElementTangent (int pIndex=0) const
 Returns this geometry's tangent element.
int GetElementTangentCount () const
 Get the number of this geometry's tangent geometry element.
FbxGeometryElementMaterialCreateElementMaterial ()
 Creates a material geometry element for this geometry.
bool RemoveElementMaterial (FbxGeometryElementMaterial *pElementMaterial)
 Remove the material geometry element from this geometry.
FbxGeometryElementMaterialGetElementMaterial (int pIndex=0)
 Returns this geometry's material element.
const FbxGeometryElementMaterialGetElementMaterial (int pIndex=0) const
 Returns this geometry's material element.
int GetElementMaterialCount () const
 Get the number of this geometry's material geometry element.
FbxGeometryElementPolygonGroupCreateElementPolygonGroup ()
 Creates a polygon group geometry element for this geometry.
bool RemoveElementPolygonGroup (FbxGeometryElementPolygonGroup *pElementPolygonGroup)
 Remove the polygon group geometry element from this geometry.
FbxGeometryElementPolygonGroupGetElementPolygonGroup (int pIndex=0)
 Returns this geometry's polygon group element.
const
FbxGeometryElementPolygonGroup
GetElementPolygonGroup (int pIndex=0) const
 Returns this geometry's polygon group element.
int GetElementPolygonGroupCount () const
 Get the number of this geometry's polygon group geometry element.
FbxGeometryElementVertexColorCreateElementVertexColor ()
 Creates a vertex color geometry element for this geometry.
bool RemoveElementVertexColor (FbxGeometryElementVertexColor *pElementVertexColor)
 Remove the vertex color geometry element from this geometry.
FbxGeometryElementVertexColorGetElementVertexColor (int pIndex=0)
 Returns this geometry's vertex color element.
const
FbxGeometryElementVertexColor
GetElementVertexColor (int pIndex=0) const
 Returns this geometry's vertex color element.
int GetElementVertexColorCount () const
 Get the number of this geometry's vertex color geometry element.
FbxGeometryElementSmoothingCreateElementSmoothing ()
 Creates a smoothing geometry element for this geometry.
bool RemoveElementSmoothing (FbxGeometryElementSmoothing *pElementSmoothing)
 Remove the smoothing geometry element from this geometry.
FbxGeometryElementSmoothingGetElementSmoothing (int pIndex=0)
 Returns this geometry's smoothing element.
const FbxGeometryElementSmoothingGetElementSmoothing (int pIndex=0) const
 Returns this geometry's smoothing element.
int GetElementSmoothingCount () const
 Get the number of this geometry's smoothing geometry element.
FbxGeometryElementCreaseCreateElementVertexCrease ()
 Creates a vertex crease geometry element for this geometry.
bool RemoveElementVertexCrease (FbxGeometryElementCrease *pElementCrease)
 Remove the vertex crease geometry element from this geometry.
FbxGeometryElementCreaseGetElementVertexCrease (int pIndex=0)
 Returns this geometry's vertex crease element.
const FbxGeometryElementCreaseGetElementVertexCrease (int pIndex=0) const
 Returns this geometry's vertex crease element.
int GetElementVertexCreaseCount () const
 Get the number of this geometry's vertex crease geometry element.
FbxGeometryElementCreaseCreateElementEdgeCrease ()
 Creates an edge crease geometry element for this geometry.
bool RemoveElementEdgeCrease (FbxGeometryElementCrease *pElementCrease)
 Remove the edge crease geometry element from this geometry.
FbxGeometryElementCreaseGetElementEdgeCrease (int pIndex=0)
 Returns this geometry's edge crease element.
const FbxGeometryElementCreaseGetElementEdgeCrease (int pIndex=0) const
 Returns this geometry's edge crease element.
int GetElementEdgeCreaseCount () const
 Get the number of this geometry's edge crease geometry element.
FbxGeometryElementHoleCreateElementHole ()
 Creates a hole geometry element for this geometry.
bool RemoveElementHole (FbxGeometryElementHole *pElementHole)
 Remove the hole geometry element from this geometry.
FbxGeometryElementHoleGetElementHole (int pIndex=0)
 Returns this geometry's hole element.
const FbxGeometryElementHoleGetElementHole (int pIndex=0) const
 Returns this geometry's hole element.
int GetElementHoleCount () const
 Get the number of this geometry's hole geometry element.
FbxGeometryElementUserDataCreateElementUserData ()
 Creates a user data geometry element for this geometry.
bool RemoveElementUserData (FbxGeometryElementUserData *pElementUserData)
 Remove the user data geometry element from this geometry.
FbxGeometryElementUserDataGetElementUserData (int pIndex=0)
 Returns this geometry's user data element.
const FbxGeometryElementUserDataGetElementUserData (int pIndex=0) const
 Returns this geometry's user data element.
int GetElementUserDataCount () const
 Get the number of this geometry's user data geometry element.
FbxGeometryElementVisibilityCreateElementVisibility ()
 Creates a visibility geometry element for this geometry.
bool RemoveElementVisibility (FbxGeometryElementVisibility *pElementVisibility)
 Remove the visibility geometry element from this geometry.
FbxGeometryElementVisibilityGetElementVisibility (int pIndex=0)
 Returns this geometry's visibility element.
const
FbxGeometryElementVisibility
GetElementVisibility (int pIndex=0) const
 Returns this geometry's visibility element.
int GetElementVisibilityCount () const
 Get the number of this geometry's visibility geometry element.
FbxGeometryElementUVCreateElementUV (const char *pUVSetName)
 Creates a UV geometry element for this geometry.
bool RemoveElementUV (FbxGeometryElementUV *pElementUV)
 Remove the UV geometry element from this geometry.
FbxGeometryElementUVGetElementUV (int pIndex=0)
 Returns this geometry's UV element.
const FbxGeometryElementUVGetElementUV (int pIndex=0) const
 Returns this geometry's UV element.
int GetElementUVCount () const
 Get the number of this geometry's UV geometry element.
FbxGeometryElementUVGetElementUV (const char *pUVSetName)
 Returns this geometry's UV element.
const FbxGeometryElementUVGetElementUV (const char *pUVSetName) const
 Returns this geometry's UV element.
void GetUVSetNames (FbxStringList &pUVSetNameList) const
 Returns this geometry's all UV set names.

Off-loading Serialization section

The methods in this section are typically called by a peripheral (FbxPeripheral).There should be no real interest in calling them directly. The functions will write/read the memory dump of the data contained in this class. Each data block written/read will start with an (int) value representing the number of items in the array. If this value (v) is not zero, it will be followed by the array content. A block of data that is (v * sizeof(array item size)) bytes big. The methods will also call the parent class ones to dump the Layers content.
virtual bool ContentWriteTo (FbxStream &pStream) const
 Writes the content of the geometry object to the specified stream.
virtual bool ContentReadFrom (const FbxStream &pStream)
 Reads the content of the geometry object from the specified stream.

Member Function Documentation

virtual void InitControlPoints ( int  pCount) [virtual]

Allocates memory space for the array of control points.

Parameters:
pCountThe number of control points.
Remarks:
Any previously allocated array of control points will be cleared.
void InitNormals ( int  pCount = 0)

Allocates memory space for the array of normals.

Parameters:
pCountThe desired size for the normal array. If pCount is specified, the array will be the same size as pCount. If pCount is not specified, the array will be the same length as the array of control points.
Remarks:
This function must be called after function FbxLayerContainer::InitControlPoints().
The normals initialized with this function will have the ReferenceMode set to eDirect. Also, the array will always be defined on layer 0.
void InitNormals ( FbxGeometryBase pSrc)

Allocates memory space for the array of normals cloned from the pSrc.

Parameters:
pSrcThe source geometry from which the normals information is cloned.
Remarks:
This function must be called with the argument, otherwise it does not do anything. Also, it will only process the normals array defined on layer 0 of the pSrc.
void InitTangents ( int  pCount = 0,
const int  pLayerIndex = 0,
const char *  pName = "" 
)

Allocates memory space for the array of tangents on specified layer.

Parameters:
pCountThe desired size of the tangent array. If pCount is specified, the array will be the same size as pCount. If pCount is not specified, the array will be the same length as the array of control points.
pLayerIndexThe specified layer index to allocate memory space for the array of tangents.
pNameThe specified name for the allocated tangents array.
Remarks:
This function must be called after function FbxLayerContainer::InitControlPoints(). The tangents initialized with this function will have the reference mode set to eDirect.
void InitTangents ( FbxGeometryBase pSrc,
const int  pLayerIndex = 0 
)

Allocates memory space for the array of tangents cloned from the pSrc on the specified layer.

Parameters:
pSrcThe source geometry from which the tangents information is cloned.
pLayerIndexThe specified layer index to allocate memory space for cloned array of tangents from the pSrc.
Remarks:
This function must be called with the argument, otherwise it does not do anything.
void InitBinormals ( int  pCount = 0,
const int  pLayerIndex = 0,
const char *  pName = "" 
)

Allocates memory space for the array of binormals.

Parameters:
pCountThe desired size of the binormal array. If pCount is specified, the array will have the same size as pCount. If pCount is not specified, the array will be the same length as the array of control points.
pLayerIndexThe specified layer index to allocate memory space for the array of binormals.
pNameThe specified name for the allocated binormals array.
Remarks:
This function must be called after function FbxLayerContainer::InitControlPoints(). The binormals initialized with this function will have the reference mode set to eDirect.
void InitBinormals ( FbxGeometryBase pSrc,
const int  pLayerIndex = 0 
)

Allocates memory space for the array of binormals cloned from the pSrc.

Parameters:
pSrcThe source geometry from which the binormals information is cloned.
pLayerIndexThe specified layer index to allocate memory space for cloned array of binormals from the pSrc.
Remarks:
This function must be called with the argument, otherwise it does not do anything.
virtual void SetControlPointAt ( const FbxVector4 pCtrlPoint,
const FbxVector4 pNormal,
int  pIndex,
bool  pI2DSearch = false 
) [virtual]

Sets the control point and the normal values at the specified index.

Parameters:
pCtrlPointThe value of the control point.
pNormalThe value of the normal.
pIndexThe specified index of the control point/normal.
pI2DSearchWhen true AND the normals array reference mode is eIndexToDirect, search pNormal in the existing array to avoid inserting if it already exist. NOTE: This feature uses a linear search algorithm, therefore it can be time consuming if the DIRECT array of normals contains a huge number of elements.
Remarks:
If the arrays (control points and normals) are not big enough to store the values at the specified index, they will be automatically resized to accommodate the new entries.
virtual void SetControlPointAt ( const FbxVector4 pCtrlPoint,
int  pIndex 
) [virtual]

Sets the control point at a specified index.

Parameters:
pCtrlPointThe value of the control point.
pIndexThe specified index of the control point.
Remarks:
If the array is not big enough to store the value at the specified index, it will be automatically resized to accommodate the new entry.
virtual FbxVector4 GetControlPointAt ( int  pIndex) const [virtual]

Gets the control point at the specified index.

Parameters:
pIndexThe specified index of the control point.
Returns:
The value of the specific control point.
Remarks:
If index is out of range, FbxVector4(0, 0, 0) is returned.
virtual void SetControlPointNormalAt ( const FbxVector4 pNormal,
int  pIndex,
bool  pI2DSearch = false 
) [virtual]

Sets the control point normal value at the specified index.

Parameters:
pNormalThe value of the normal.
pIndexThe specified index of the normal.
pI2DSearchWhen true AND the normals array reference mode is eIndexToDirect, search pNormal in the existing array to avoid inserting it if it already exist. NOTE: this feature uses a linear search algorithm, therefore it can be time consuming if the DIRECT array of normals contains a huge number of elements.
Remarks:
If the array is not big enough to store the value at the specified index, it will be automatically resized to accommodate the new entry.
virtual int GetControlPointsCount ( ) const [virtual]

Returns the number of control points.

Returns:
The number of control points allocated in the geometry.

Reimplemented in FbxTrimNurbsSurface.

virtual FbxVector4* GetControlPoints ( ) const [virtual]

Returns a pointer to the array of control points.

Returns:
Pointer to the array of control points, or NULL if the array has not been allocated.
Remarks:
Use the function FbxGeometryBase::InitControlPoints() to allocate the array.
virtual void SetControlPointCount ( int  pCount) [virtual]

Allocates memory space for the array of control points.

Parameters:
pCountThe number of control points.
Remarks:
Any previously allocated array of control points will NOT be cleared.
void ComputeBBox ( )

Computes the control points Bounding box.

FbxGeometryElementNormal* CreateElementNormal ( )

Creates a normal geometry element for this geometry.

Returns:
A pointer to the newly created geometry element.
Remarks:
The created geometry element is associated with this geometry automatically.
bool RemoveElementNormal ( FbxGeometryElementNormal pElementNormal)

Remove the normal geometry element from this geometry.

Parameters:
pElementNormalA pointer to the normal element to be removed.
Returns:
True if the geometry element is removed, false otherwise.
FbxGeometryElementNormal* GetElementNormal ( int  pIndex = 0)

Returns this geometry's normal element.

Parameters:
pIndexThe normal geometry element index.
Returns:
A pointer to the geometry element or NULL if pIndex is out of range.
const FbxGeometryElementNormal* GetElementNormal ( int  pIndex = 0) const

Returns this geometry's normal element.

Parameters:
pIndexThe normal geometry element index.
Returns:
A const pointer to the geometry element or NULL if pIndex is out of range.
int GetElementNormalCount ( ) const

Get the number of this geometry's normal geometry element.

Returns:
Total number of normal geometry elements for this geometry.
FbxGeometryElementBinormal* CreateElementBinormal ( )

Creates a binormal geometry element for this geometry.

Returns:
A pointer to the newly created geometry element.
Remarks:
The created geometry element is associated with this geometry automatically.
bool RemoveElementBinormal ( FbxGeometryElementBinormal pElementBinormal)

Remove the binormal geometry element from this geometry.

Parameters:
pElementBinormalA pointer to the binormal element to be removed.
Returns:
True if the geometry element is removed, false otherwise.
FbxGeometryElementBinormal* GetElementBinormal ( int  pIndex = 0)

Returns this geometry's binormal element.

Parameters:
pIndexThe binormal geometry element index.
Returns:
A pointer to the geometry element or NULL if pIndex is out of range.
const FbxGeometryElementBinormal* GetElementBinormal ( int  pIndex = 0) const

Returns this geometry's binormal element.

Parameters:
pIndexThe binormal geometry element index.
Returns:
A const pointer to the geometry element or NULL if pIndex is out of range.
int GetElementBinormalCount ( ) const

Get the number of this geometry's binormal geometry element.

Returns:
Total number of binormal geometry elements for this geometry.
FbxGeometryElementTangent* CreateElementTangent ( )

Creates a tangent geometry element for this geometry.

Returns:
A pointer to the newly created geometry element.
Remarks:
The created geometry element is associated with this geometry automatically.
bool RemoveElementTangent ( FbxGeometryElementTangent pElementTangent)

Remove the tangent geometry element from this geometry.

Parameters:
pElementTangentA pointer to the tangent element to be removed.
Returns:
True if the geometry element is removed, false otherwise.
FbxGeometryElementTangent* GetElementTangent ( int  pIndex = 0)

Returns this geometry's tangent element.

Parameters:
pIndexThe tangent geometry element index.
Returns:
A pointer to the geometry element or NULL if pIndex is out of range.
const FbxGeometryElementTangent* GetElementTangent ( int  pIndex = 0) const

Returns this geometry's tangent element.

Parameters:
pIndexThe tangent geometry element index.
Returns:
A const pointer to the geometry element or NULL if pIndex is out of range.
int GetElementTangentCount ( ) const

Get the number of this geometry's tangent geometry element.

Returns:
Total number of tangent geometry elements for this geometry.
FbxGeometryElementMaterial* CreateElementMaterial ( )

Creates a material geometry element for this geometry.

Returns:
A pointer to the newly created geometry element.
Remarks:
The created geometry element is associated with this geometry automatically.
bool RemoveElementMaterial ( FbxGeometryElementMaterial pElementMaterial)

Remove the material geometry element from this geometry.

Parameters:
pElementMaterialA pointer to the material element to be removed.
Returns:
True if the geometry element is removed, false otherwise.
FbxGeometryElementMaterial* GetElementMaterial ( int  pIndex = 0)

Returns this geometry's material element.

Parameters:
pIndexThe material geometry element index.
Returns:
A pointer to the geometry element or NULL if pIndex is out of range.
const FbxGeometryElementMaterial* GetElementMaterial ( int  pIndex = 0) const

Returns this geometry's material element.

Parameters:
pIndexThe material geometry element index.
Returns:
A const pointer to the geometry element or NULL if pIndex is out of range.
int GetElementMaterialCount ( ) const

Get the number of this geometry's material geometry element.

Returns:
Total number of material geometry elements for this geometry.
FbxGeometryElementPolygonGroup* CreateElementPolygonGroup ( )

Creates a polygon group geometry element for this geometry.

Returns:
A pointer to the newly created geometry element.
Remarks:
The created geometry element is associated with this geometry automatically.
bool RemoveElementPolygonGroup ( FbxGeometryElementPolygonGroup pElementPolygonGroup)

Remove the polygon group geometry element from this geometry.

Parameters:
pElementPolygonGroupA pointer to the polygon group element to be removed.
Returns:
True if the geometry element is removed, false otherwise.
FbxGeometryElementPolygonGroup* GetElementPolygonGroup ( int  pIndex = 0)

Returns this geometry's polygon group element.

Parameters:
pIndexThe polygon group geometry element index.
Returns:
A pointer to the geometry element or NULL if pIndex is out of range.
const FbxGeometryElementPolygonGroup* GetElementPolygonGroup ( int  pIndex = 0) const

Returns this geometry's polygon group element.

Parameters:
pIndexThe polygon group geometry element index.
Returns:
A const pointer to the geometry element or NULL if pIndex is out of range.
int GetElementPolygonGroupCount ( ) const

Get the number of this geometry's polygon group geometry element.

Returns:
Total number of polygon group geometry elements for this geometry.
FbxGeometryElementVertexColor* CreateElementVertexColor ( )

Creates a vertex color geometry element for this geometry.

Returns:
A pointer to the newly created geometry element.
Remarks:
The created geometry element is associated with this geometry automatically.
bool RemoveElementVertexColor ( FbxGeometryElementVertexColor pElementVertexColor)

Remove the vertex color geometry element from this geometry.

Parameters:
pElementVertexColorA pointer to the vertex color element to be removed.
Returns:
True if the geometry element is removed, false otherwise.
FbxGeometryElementVertexColor* GetElementVertexColor ( int  pIndex = 0)

Returns this geometry's vertex color element.

Parameters:
pIndexThe vertex color geometry element index.
Returns:
A pointer to the geometry element or NULL if pIndex is out of range.
const FbxGeometryElementVertexColor* GetElementVertexColor ( int  pIndex = 0) const

Returns this geometry's vertex color element.

Parameters:
pIndexThe vertex color geometry element index.
Returns:
A const pointer to the geometry element or NULL if pIndex is out of range.
int GetElementVertexColorCount ( ) const

Get the number of this geometry's vertex color geometry element.

Returns:
Total number of vertex color geometry elements for this geometry.
FbxGeometryElementSmoothing* CreateElementSmoothing ( )

Creates a smoothing geometry element for this geometry.

Returns:
A pointer to the newly created geometry element.
Remarks:
The created geometry element is associated with this geometry automatically.
bool RemoveElementSmoothing ( FbxGeometryElementSmoothing pElementSmoothing)

Remove the smoothing geometry element from this geometry.

Parameters:
pElementSmoothingA pointer to the smoothing element to be removed.
Returns:
True if the geometry element is removed, false otherwise.
FbxGeometryElementSmoothing* GetElementSmoothing ( int  pIndex = 0)

Returns this geometry's smoothing element.

Parameters:
pIndexThe smoothing geometry element index.
Returns:
A pointer to the geometry element or NULL if pIndex is out of range.
const FbxGeometryElementSmoothing* GetElementSmoothing ( int  pIndex = 0) const

Returns this geometry's smoothing element.

Parameters:
pIndexThe smoothing geometry element index.
Returns:
A const pointer to the geometry element or NULL if pIndex is out of range.
int GetElementSmoothingCount ( ) const

Get the number of this geometry's smoothing geometry element.

Returns:
Total number of smoothing geometry elements for this geometry.
FbxGeometryElementCrease* CreateElementVertexCrease ( )

Creates a vertex crease geometry element for this geometry.

Returns:
A pointer to the newly created geometry element.
Remarks:
The created geometry element is associated with this geometry automatically.
bool RemoveElementVertexCrease ( FbxGeometryElementCrease pElementCrease)

Remove the vertex crease geometry element from this geometry.

Parameters:
pElementCreaseA pointer to the vertex crease element to be removed.
Returns:
True if the geometry element is removed, false otherwise.
FbxGeometryElementCrease* GetElementVertexCrease ( int  pIndex = 0)

Returns this geometry's vertex crease element.

Parameters:
pIndexThe vertex crease geometry element index.
Returns:
A pointer to the geometry element or NULL if pIndex is out of range.
const FbxGeometryElementCrease* GetElementVertexCrease ( int  pIndex = 0) const

Returns this geometry's vertex crease element.

Parameters:
pIndexThe vertex crease geometry element index.
Returns:
A const pointer to the geometry element or NULL if pIndex is out of range.
int GetElementVertexCreaseCount ( ) const

Get the number of this geometry's vertex crease geometry element.

Returns:
Total number of vertex crease geometry elements for this geometry.
FbxGeometryElementCrease* CreateElementEdgeCrease ( )

Creates an edge crease geometry element for this geometry.

Returns:
A pointer to the newly created geometry element.
Remarks:
The created geometry element is associated with this geometry automatically.
bool RemoveElementEdgeCrease ( FbxGeometryElementCrease pElementCrease)

Remove the edge crease geometry element from this geometry.

Parameters:
pElementCreaseA pointer to the edge crease element to be removed.
Returns:
True if the geometry element is removed, false otherwise.
FbxGeometryElementCrease* GetElementEdgeCrease ( int  pIndex = 0)

Returns this geometry's edge crease element.

Parameters:
pIndexThe edge crease geometry element index.
Returns:
A pointer to the geometry element or NULL if pIndex is out of range.
const FbxGeometryElementCrease* GetElementEdgeCrease ( int  pIndex = 0) const

Returns this geometry's edge crease element.

Parameters:
pIndexThe edge crease geometry element index.
Returns:
A const pointer to the geometry element or NULL if pIndex is out of range.
int GetElementEdgeCreaseCount ( ) const

Get the number of this geometry's edge crease geometry element.

Returns:
Total number of edge crease geometry elements for this geometry.
FbxGeometryElementHole* CreateElementHole ( )

Creates a hole geometry element for this geometry.

Returns:
A pointer to the newly created geometry element.
Remarks:
The created geometry element is associated with this geometry automatically.
bool RemoveElementHole ( FbxGeometryElementHole pElementHole)

Remove the hole geometry element from this geometry.

Parameters:
pElementHoleA pointer to the hole element to be removed.
Returns:
True if the geometry element is removed, false otherwise.
FbxGeometryElementHole* GetElementHole ( int  pIndex = 0)

Returns this geometry's hole element.

Parameters:
pIndexThe hole geometry element index.
Returns:
A pointer to the geometry element or NULL if pIndex is out of range.
const FbxGeometryElementHole* GetElementHole ( int  pIndex = 0) const

Returns this geometry's hole element.

Parameters:
pIndexThe hole geometry element index.
Returns:
A const pointer to the geometry element or NULL if pIndex is out of range.
int GetElementHoleCount ( ) const

Get the number of this geometry's hole geometry element.

Returns:
Total number of hole geometry elements for this geometry.
FbxGeometryElementUserData* CreateElementUserData ( )

Creates a user data geometry element for this geometry.

Returns:
A pointer to the newly created geometry element.
Remarks:
The created geometry element is associated with this geometry automatically.
bool RemoveElementUserData ( FbxGeometryElementUserData pElementUserData)

Remove the user data geometry element from this geometry.

Parameters:
pElementUserDataA pointer to the user data element to be removed.
Returns:
True if the geometry element is removed, false otherwise.
FbxGeometryElementUserData* GetElementUserData ( int  pIndex = 0)

Returns this geometry's user data element.

Parameters:
pIndexThe user data geometry element index.
Returns:
A pointer to the geometry element or NULL if pIndex is out of range.
const FbxGeometryElementUserData* GetElementUserData ( int  pIndex = 0) const

Returns this geometry's user data element.

Parameters:
pIndexThe user data geometry element index.
Returns:
A const pointer to the geometry element or NULL if pIndex is out of range.
int GetElementUserDataCount ( ) const

Get the number of this geometry's user data geometry element.

Returns:
Total number of user data geometry elements for this geometry.
FbxGeometryElementVisibility* CreateElementVisibility ( )

Creates a visibility geometry element for this geometry.

Returns:
A pointer to the newly created geometry element.
Remarks:
The created geometry element is associated with this geometry automatically.
bool RemoveElementVisibility ( FbxGeometryElementVisibility pElementVisibility)

Remove the visibility geometry element from this geometry.

Parameters:
pElementVisibilityA pointer to the visibility element to be removed.
Returns:
True if the geometry element is removed, false otherwise.
FbxGeometryElementVisibility* GetElementVisibility ( int  pIndex = 0)

Returns this geometry's visibility element.

Parameters:
pIndexThe visibility geometry element index.
Returns:
A pointer to the geometry element or NULL if pIndex is out of range.
const FbxGeometryElementVisibility* GetElementVisibility ( int  pIndex = 0) const

Returns this geometry's visibility element.

Parameters:
pIndexThe visibility geometry element index.
Returns:
A const pointer to the geometry element or NULL if pIndex is out of range.
int GetElementVisibilityCount ( ) const

Get the number of this geometry's visibility geometry element.

Returns:
Total number of visibility geometry elements for this geometry.
FbxGeometryElementUV* CreateElementUV ( const char *  pUVSetName)

Creates a UV geometry element for this geometry.

Returns:
A pointer to the newly created geometry element.
Remarks:
The created geometry element is associated with this geometry automatically.
bool RemoveElementUV ( FbxGeometryElementUV pElementUV)

Remove the UV geometry element from this geometry.

Parameters:
pElementUVA pointer to the UV element to be removed.
Returns:
True if the geometry element is removed, false otherwise.
FbxGeometryElementUV* GetElementUV ( int  pIndex = 0)

Returns this geometry's UV element.

Parameters:
pIndexThe UV geometry element index.
Returns:
A pointer to the geometry element or NULL if pIndex is out of range.
const FbxGeometryElementUV* GetElementUV ( int  pIndex = 0) const

Returns this geometry's UV element.

Parameters:
pIndexThe UV geometry element index.
Returns:
A const pointer to the geometry element or NULL if pIndex is out of range.
int GetElementUVCount ( ) const

Get the number of this geometry's UV geometry element.

Returns:
Total number of UV geometry elements for this geometry.
FbxGeometryElementUV* GetElementUV ( const char *  pUVSetName)

Returns this geometry's UV element.

Parameters:
pUVSetNameThe UV set name of the UV geometry element.
Returns:
A pointer to the UV geometry element or NULL if no UV geometry element with this name exists.
const FbxGeometryElementUV* GetElementUV ( const char *  pUVSetName) const

Returns this geometry's UV element.

Parameters:
pUVSetNameThe UV set name of the UV geometry element.
Returns:
A const pointer to the UV geometry element or NULL if no UV geometry element with this name exists.
void GetUVSetNames ( FbxStringList pUVSetNameList) const

Returns this geometry's all UV set names.

Parameters:
pUVSetNameListA reference to FbxStringList that will be filled with this geometry's all UV set names.
virtual bool ContentWriteTo ( FbxStream pStream) const [virtual]

Writes the content of the geometry object to the specified stream.

Parameters:
pStreamThe destination stream.
Returns:
True if the content is successfully processed by the receiving stream, false otherwise.

Reimplemented from FbxObject.

Reimplemented in FbxPatch.

virtual bool ContentReadFrom ( const FbxStream pStream) [virtual]

Reads the content of the geometry object from the specified stream.

Parameters:
pStreamThe source stream.
Returns:
True if the geometry object fills itself with the received data from the stream successfully, false otherwise.

Reimplemented from FbxObject.

Reimplemented in FbxPatch.

virtual int MemoryUsage ( ) const [virtual]

Calculate the actual amount of memory used by this geometry object.

Returns:
The memory size in bytes (includes the amount use by the data defined in the layers).
virtual FbxObject& Copy ( const FbxObject pObject) [virtual]

Copy an object content into this object.

Parameters:
pObjectThe source object to copy data from.
Returns:
Returns the destination object being modified by the source.
Remarks:
This function replace the assignment operator (operator=). It will copy all property values and the name. Connections are NOT copied.

Reimplemented from FbxLayerContainer.

Reimplemented in FbxGeometry, FbxLine, FbxMesh, FbxNurbs, FbxNurbsCurve, FbxNurbsSurface, FbxPatch, FbxShape, FbxBoundary, and FbxTrimNurbsSurface.

bool GetNormals ( FbxLayerElementArrayTemplate< FbxVector4 > **  pLockableArray) const
bool GetNormalsIndices ( FbxLayerElementArrayTemplate< int > **  pLockableArray) const
bool GetTangents ( FbxLayerElementArrayTemplate< FbxVector4 > **  pLockableArray,
const int  pLayerIndex = 0 
) const
bool GetTangentsIndices ( FbxLayerElementArrayTemplate< int > **  pLockableArray,
const int  pLayerIndex = 0 
) const
bool GetBinormals ( FbxLayerElementArrayTemplate< FbxVector4 > **  pLockableArray,
const int  pLayerIndex = 0 
) const
bool GetBinormalsIndices ( FbxLayerElementArrayTemplate< int > **  pLockableArray,
const int  pLayerIndex = 0 
) const
virtual void ConstructProperties ( bool  pForceSet) [protected, virtual]

Optional property constructor override, automatically called by default constructor.

Parameters:
pForceSetIf the property value must be set regardless of default value.
Remarks:
If your object have properties, they must be initialized in this function.

Reimplemented from FbxNodeAttribute.

Reimplemented in FbxLine, and FbxBoundary.

virtual void ContentClear ( ) [protected, virtual]

Clears this object's content from memory.

This method must be overridden in the derived classes.

Remarks:
This method is called by ContentUnload() if the object content's unloading is successful.

Reimplemented from FbxObject.


Member Data Documentation

Control the geometry render state. Geometry can still cast shadows even if this is turned off.

Definition at line 176 of file fbxgeometrybase.h.

If true, the geometry will produce shadows.

Definition at line 179 of file fbxgeometrybase.h.

If true, the geometry will receive shadows.

Definition at line 182 of file fbxgeometrybase.h.

The minimum value of the control points bounding box.

Definition at line 185 of file fbxgeometrybase.h.

The maximum value of the control points bounding box.

Definition at line 188 of file fbxgeometrybase.h.

Definition at line 637 of file fbxgeometrybase.h.


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

FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase
FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase FbxGeometryBase