This reference page is linked to from the following overview topics: Geometry, Meshes, List of Python Fbx classes.
The base class of geometric objects that support control point deformations (e.g.
FbxMesh, FbxNurbs, and FbxPatch). The FbxGeometry provides support for the following kinds of deformations.
Most of the methods of FbxGeometry are wrappers to simplify the access/manipulation of the connections to the deformers. For example, calling the GetDeformerCount() method is the same thing as calling:
geometry.GetSrcObjectCount(FbxDeformer::ClassId)
Definition at line 45 of file fbxgeometry.h.
#include <fbxgeometry.h>

Public Types | |
| enum | ESurfaceMode { eRaw, eLowNoNormals, eLow, eHighNoNormals, eHigh } |
NURBS and Patches surface modes. More... | |
Public Member Functions | |
| virtual FbxNodeAttribute::EType | GetAttributeType () const |
| Returns the node attribute type. | |
| virtual FbxObject & | Copy (const FbxObject &pObject) |
| Copy an object content into this object. | |
| void | CleanShapeChannels (FbxAnimLayer *pAnimLayer) |
| void | CleanShapeChannel (FbxAnimLayer *pAnimLayer, int pShapeIndex) |
| void | CreateShapeChannelProperties (FbxString &pShapeName) |
| void | ConvertShapeNamesToV5Format (FbxString pTakeNodeName) |
| void | ConvertShapeNamesToV5Format (FbxString pTakeNodeName, int pShapeIndex) |
| void | RevertShapeNamesToV6Format (FbxString pTakeNodeName) |
| void | RevertShapeNamesToV6Format (FbxString pTakeNodeName, int pShapeIndex) |
| void | ClearTemporaryShapeNames () |
Deformer Management | |
| int | AddDeformer (FbxDeformer *pDeformer) |
| Adds a deformer to this geometry (as mentioned in the description of this class, adding a deformer is a synonym for "connect a deformer"). | |
| FbxDeformer * | RemoveDeformer (int pIndex, FbxStatus *pStatus=NULL) |
| Remove a deformer. | |
| int | GetDeformerCount () const |
| Returns the number of deformers. | |
| FbxDeformer * | GetDeformer (int pIndex, FbxStatus *pStatus=NULL) const |
| Returns the deformer at the specified index. | |
| int | GetDeformerCount (FbxDeformer::EDeformerType pType) const |
| Returns the number of deformers of a specified type. | |
| FbxDeformer * | GetDeformer (int pIndex, FbxDeformer::EDeformerType pType, FbxStatus *pStatus=NULL) const |
| Returns the deformer of a specified type at the specified index. | |
Geometry Weighted Maps Management | |
| FbxGeometryWeightedMap * | GetSourceGeometryWeightedMap () |
| Returns the source geometry weighted map that is connected to this geometry. | |
| int | GetDestinationGeometryWeightedMapCount () const |
| Returns the number of destination geometry weighted map(s) that are connected to this geometry. | |
| FbxGeometryWeightedMap * | GetDestinationGeometryWeightedMap (int pIndex) |
| Returns the destination geometry weighted map at a specified index. | |
Shape Management | |
| bool | AddShape (int pBlendShapeIndex, int pBlendShapeChannelIndex, FbxShape *pShape, double pPercent=100, FbxStatus *pStatus=NULL) |
| Add a shape to the specified blend shape deformer and blend shape channel of this geometry. | |
| void | ClearShape () |
| Removes all the shapes without destroying them. | |
| int | GetShapeCount () const |
| Returns the number of shapes. | |
| int | GetShapeCount (int pBlendShapeIndex, int pBlendShapeChannelIndex, FbxStatus *pStatus=NULL) const |
| Returns the number of shapes. | |
| FbxShape * | GetShape (int pBlendShapeIndex, int pBlendShapeChannelIndex, int pShapeIndex, FbxStatus *pStatus=NULL) |
| Returns the shape found at the specified index on a blend shape channel of a blend shape deformer. | |
| FbxShape const * | GetShape (int pBlendShapeIndex, int pBlendShapeChannelIndex, int pShapeIndex, FbxStatus *pStatus=NULL) const |
| Returns the shape found at the specified index on a blend shape channel of a blend shape deformer. | |
| FbxAnimCurve * | GetShapeChannel (int pBlendShapeIndex, int pBlendShapeChannelIndex, FbxAnimLayer *pLayer, bool pCreateAsNeeded=false, FbxStatus *pStatus=NULL) |
| Get the shape animation curve. | |
Pivot Management | |
The geometry pivot is used to specify additional translation, rotation, and scaling information applied to all control points when the model is exported. | |
| FbxAMatrix & | GetPivot (FbxAMatrix &pXMatrix) const |
| Returns the pivot matrix. | |
| void | SetPivot (FbxAMatrix &pXMatrix) |
| Sets the pivot matrix. | |
| void | ApplyPivot () |
| Applies the pivot matrix to all vertices/normals of the geometry. | |
Default Animation Values | |
These functions provides direct access to default animation values that are specific to a geometry. These functions only work if the geometry has been associated with a node. | |
| void | SetDefaultShape (int pBlendShapeIndex, int pBlendShapeChannelIndex, double pPercent) |
| Sets the default deformation for a specified shape. | |
| void | SetDefaultShape (FbxBlendShapeChannel *pBlendShapeChannel, double pPercent) |
| Sets the default deformation for a specified shape. | |
| double | GetDefaultShape (int pBlendShapeIndex, int pBlendShapeChannelIndex) const |
| Returns the default deformation value for the specified shape. | |
| double | GetDefaultShape (FbxBlendShapeChannel *pBlendShapeChannel) const |
| Returns the default deformation value for the specified shape. | |
Protected Member Functions | |
| virtual void | Construct (const FbxGeometry *pFrom) |
| virtual void | Destruct (bool pRecursive) |
| Optional destructor override, automatically called by default destructor. | |
| virtual void | SetDocument (FbxDocument *pDocument) |
| FbxString | CreateShapeChannelName (int pShapeIndex) |
| FbxString | CreateShapeChannelName (FbxString pShapeName) |
| void | CopyDeformers (FbxGeometry const *pGeometry) |
| void | CopyPivot (FbxGeometry const *pSource) |
Protected Attributes | |
| FbxArray< FbxString * > | mShapeNameArrayV6 |
| FbxArray< FbxString * > | mShapeNameArrayV5 |
| FbxArray< FbxString * > | mShapeChannelNameArrayV5 |
| FbxAMatrix * | mPivot |
| enum ESurfaceMode |
NURBS and Patches surface modes.
This information is never directly used inside the FBX SDK. Applications can use these values if they wish to carry the "rendering" details of the NURBS and Patches. The FBX SDK guarantee that the value (member of the FbxNurbs, FbxNurbsSurface and FbxPatch classes) is stored to FBX files and retrieved from them.
| eRaw | |
| eLowNoNormals |
Raw. |
| eLow |
Low and no normals. |
| eHighNoNormals |
Low. |
| eHigh |
High and no normals. High. |
Definition at line 200 of file fbxgeometry.h.
{
eRaw,
eLowNoNormals,
eLow,
eHighNoNormals,
eHigh
};
| virtual FbxNodeAttribute::EType GetAttributeType | ( | ) | const [virtual] |
Returns the node attribute type.
This method is derived in the more high level classes (FbxMesh, FbxNurbs, etc...) and returns the actual type of the geometry object.
Reimplemented from FbxLayerContainer.
Reimplemented in FbxLine, FbxMesh, FbxNurbs, FbxNurbsCurve, FbxNurbsSurface, FbxPatch, FbxSubDiv, FbxBoundary, and FbxTrimNurbsSurface.
| int AddDeformer | ( | FbxDeformer * | pDeformer | ) |
Adds a deformer to this geometry (as mentioned in the description of this class, adding a deformer is a synonym for "connect a deformer").
| pDeformer | Pointer to the deformer to be added. |
| FbxDeformer* RemoveDeformer | ( | int | pIndex, |
| FbxStatus * | pStatus = NULL |
||
| ) |
Remove a deformer.
| pIndex | Index of deformer to remove. |
| pStatus | The FbxStatus object to hold error codes. |
NULL if pIndex is out of range). | int GetDeformerCount | ( | ) | const |
Returns the number of deformers.
| FbxDeformer* GetDeformer | ( | int | pIndex, |
| FbxStatus * | pStatus = NULL |
||
| ) | const |
Returns the deformer at the specified index.
| pIndex | The specified deformer index. |
| pStatus | The FbxStatus object to hold error codes. |
NULL if pIndex is out of range). | int GetDeformerCount | ( | FbxDeformer::EDeformerType | pType | ) | const |
Returns the number of deformers of a specified type.
| pType | The specified deformer type. |
| FbxDeformer* GetDeformer | ( | int | pIndex, |
| FbxDeformer::EDeformerType | pType, | ||
| FbxStatus * | pStatus = NULL |
||
| ) | const |
Returns the deformer of a specified type at the specified index.
| pIndex | The specified deformer index. |
| pType | The specified deformer type. |
| pStatus | The FbxStatus object to hold error codes. |
NULL if pIndex is out of range). | FbxGeometryWeightedMap* GetSourceGeometryWeightedMap | ( | ) |
Returns the source geometry weighted map that is connected to this geometry.
| int GetDestinationGeometryWeightedMapCount | ( | ) | const |
Returns the number of destination geometry weighted map(s) that are connected to this geometry.
| FbxGeometryWeightedMap* GetDestinationGeometryWeightedMap | ( | int | pIndex | ) |
Returns the destination geometry weighted map at a specified index.
| pIndex | The specified index. |
| bool AddShape | ( | int | pBlendShapeIndex, |
| int | pBlendShapeChannelIndex, | ||
| FbxShape * | pShape, | ||
| double | pPercent = 100, |
||
| FbxStatus * | pStatus = NULL |
||
| ) |
Add a shape to the specified blend shape deformer and blend shape channel of this geometry.
| pBlendShapeIndex | The blend shape deformer index. |
| pBlendShapeChannelIndex | The blend shape channel index. |
| pShape | Pointer to the shape object to be added. |
| pPercent | The full deform percentage of this shape. |
| pStatus | The FbxStatus object to hold error codes. |
true if success, false otherwise. | void ClearShape | ( | ) |
Removes all the shapes without destroying them.
If shapes aren't explicitly destroyed before calling this function, they will be destroyed along with the SDK manager that created them.
| int GetShapeCount | ( | ) | const |
Returns the number of shapes.
| int GetShapeCount | ( | int | pBlendShapeIndex, |
| int | pBlendShapeChannelIndex, | ||
| FbxStatus * | pStatus = NULL |
||
| ) | const |
Returns the number of shapes.
| pBlendShapeIndex | The blend shape deformer index. |
| pBlendShapeChannelIndex | The blend shape channel index. |
| pStatus | The FbxStatus object to hold error codes. |
| FbxShape* GetShape | ( | int | pBlendShapeIndex, |
| int | pBlendShapeChannelIndex, | ||
| int | pShapeIndex, | ||
| FbxStatus * | pStatus = NULL |
||
| ) |
Returns the shape found at the specified index on a blend shape channel of a blend shape deformer.
| pBlendShapeIndex | The blend shape deformer index. |
| pBlendShapeChannelIndex | The blend shape channel index. |
| pShapeIndex | The specified shape index. |
| pStatus | The FbxStatus object to hold error codes. |
NULL if pIndex is out of range). | FbxShape const* GetShape | ( | int | pBlendShapeIndex, |
| int | pBlendShapeChannelIndex, | ||
| int | pShapeIndex, | ||
| FbxStatus * | pStatus = NULL |
||
| ) | const |
Returns the shape found at the specified index on a blend shape channel of a blend shape deformer.
| pBlendShapeIndex | The blend shape deformer index. |
| pBlendShapeChannelIndex | The blend shape channel index. |
| pShapeIndex | The specified shape index. |
| pStatus | The FbxStatus object to hold error codes. |
NULL if pIndex is out of range). | FbxAnimCurve* GetShapeChannel | ( | int | pBlendShapeIndex, |
| int | pBlendShapeChannelIndex, | ||
| FbxAnimLayer * | pLayer, | ||
| bool | pCreateAsNeeded = false, |
||
| FbxStatus * | pStatus = NULL |
||
| ) |
Get the shape animation curve.
The shape channel is an animatable property with a value range from 0 to 100 (with 100 being full shape deformation). The default value is 0.
| pBlendShapeIndex | The blend shape deformer index. |
| pBlendShapeChannelIndex | The blend shape channel index. |
| pLayer | The animation layer from which we want to get the requested animation curve. |
| pCreateAsNeeded | If true, creates the animation curve if it is not already present. |
| pStatus | The FbxStatus object to hold error codes. |
| FbxAMatrix& GetPivot | ( | FbxAMatrix & | pXMatrix | ) | const |
Returns the pivot matrix.
| pXMatrix | Placeholder for the returned matrix. |
| void SetPivot | ( | FbxAMatrix & | pXMatrix | ) |
Sets the pivot matrix.
| pXMatrix | The transformation matrix that is assigned to the pivot matrix. |
| void ApplyPivot | ( | ) |
Applies the pivot matrix to all vertices/normals of the geometry.
| void SetDefaultShape | ( | int | pBlendShapeIndex, |
| int | pBlendShapeChannelIndex, | ||
| double | pPercent | ||
| ) |
Sets the default deformation for a specified shape.
The default shape property has a value range from 0 to 100 (with 100 being full shape deformation). The default value is 0.
| pBlendShapeIndex | The blend shape deformer index. |
| pBlendShapeChannelIndex | The blend shape channel index. |
| pPercent | Deformation percentage (on a scale ranging from 0 to 100). |
| void SetDefaultShape | ( | FbxBlendShapeChannel * | pBlendShapeChannel, |
| double | pPercent | ||
| ) |
Sets the default deformation for a specified shape.
The default shape property has a value range from 0 to 100 (with 100 being full shape deformation). The default value is 0.
| pBlendShape | The blend shape deformer. |
| pBlendShapeChannel | The blend shape channel. |
| pPercent | Deformation percentage (on a scale ranging from 0 to 100). |
| double GetDefaultShape | ( | int | pBlendShapeIndex, |
| int | pBlendShapeChannelIndex | ||
| ) | const |
Returns the default deformation value for the specified shape.
The default shape property has a value range from 0 to 100 (with 100 being full shape deformation). The default value is 0.
| pBlendShapeIndex | The blend shape deformer index. |
| pBlendShapeChannelIndex | The blend shape channel index. |
| double GetDefaultShape | ( | FbxBlendShapeChannel * | pBlendShapeChannel | ) | const |
Returns the default deformation value for the specified shape.
The default shape property has a value range from 0 to 100 (with 100 being full shape deformation). The default value is 0.
| pBlendShape | The blend shape deformer. |
| pBlendShapeChannel | The blend shape channel. |
Copy an object content into this object.
| pObject | The source object to copy data from. |
Reimplemented from FbxGeometryBase.
Reimplemented in FbxLine, FbxMesh, FbxNurbs, FbxNurbsCurve, FbxNurbsSurface, FbxPatch, FbxBoundary, and FbxTrimNurbsSurface.
| void CleanShapeChannels | ( | FbxAnimLayer * | pAnimLayer | ) |
| void CleanShapeChannel | ( | FbxAnimLayer * | pAnimLayer, |
| int | pShapeIndex | ||
| ) |
| void CreateShapeChannelProperties | ( | FbxString & | pShapeName | ) |
| void ConvertShapeNamesToV5Format | ( | FbxString | pTakeNodeName | ) |
| void ConvertShapeNamesToV5Format | ( | FbxString | pTakeNodeName, |
| int | pShapeIndex | ||
| ) |
| void RevertShapeNamesToV6Format | ( | FbxString | pTakeNodeName | ) |
| void RevertShapeNamesToV6Format | ( | FbxString | pTakeNodeName, |
| int | pShapeIndex | ||
| ) |
| void ClearTemporaryShapeNames | ( | ) |
| virtual void Construct | ( | const FbxGeometry * | pFrom | ) | [protected, virtual] |
| virtual void Destruct | ( | bool | pRecursive | ) | [protected, virtual] |
Optional destructor override, automatically called by default destructor.
| pRecursive | If true, children objects should be destroyed as well. |
Reimplemented from FbxLayerContainer.
Reimplemented in FbxLine, FbxMesh, FbxNurbs, FbxNurbsCurve, FbxNurbsSurface, and FbxPatch.
| virtual void SetDocument | ( | FbxDocument * | pDocument | ) | [protected, virtual] |
Reimplemented from FbxLayerContainer.
| FbxString CreateShapeChannelName | ( | int | pShapeIndex | ) | [protected] |
| void CopyDeformers | ( | FbxGeometry const * | pGeometry | ) | [protected] |
| void CopyPivot | ( | FbxGeometry const * | pSource | ) | [protected] |
FbxArray<FbxString*> mShapeNameArrayV6 [protected] |
Definition at line 308 of file fbxgeometry.h.
FbxArray<FbxString*> mShapeNameArrayV5 [protected] |
Definition at line 309 of file fbxgeometry.h.
FbxArray<FbxString*> mShapeChannelNameArrayV5 [protected] |
Definition at line 310 of file fbxgeometry.h.
FbxAMatrix* mPivot [protected] |
Definition at line 312 of file fbxgeometry.h.