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)
ExportScene01/main.cxx, ExportScene02/main.cxx, ExportScene03/main.cxx, ImportScene/DisplayAnimation.cxx, ImportScene/DisplayLink.cxx, ImportScene/DisplayLink.h, ImportScene/DisplayMaterial.cxx, ImportScene/DisplayMaterial.h, ImportScene/DisplayShape.cxx, ImportScene/DisplayShape.h, ImportScene/DisplayTexture.cxx, and ImportScene/DisplayTexture.h.
Definition at line 57 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) |
| Rename the shapes from the old MotionBuilder
4.01 format to the new one. |
|
| void | CleanShapeChannel (FbxAnimLayer *pAnimLayer, int pShapeIndex) |
| Rename the shapes from the old MotionBuilder
4.01 format to the new one. |
|
| 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) |
| Remove a deformer. |
|
| int | GetDeformerCount () const |
| Returns the number of deformers. |
|
| FbxDeformer * | GetDeformer (int pIndex) 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) 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) |
| 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) const |
| Returns the number of shapes. |
|
| FbxShape * | GetShape (int pBlendShapeIndex, int pBlendShapeChannelIndex, int pShapeIndex) |
| 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) 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) |
| 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 |
|
| FbxGeometry (FbxManager &pManager, char const *pName) | |
| virtual void | Destruct (bool pRecursive, bool pDependents) |
| 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 |
| FbxError | mError |
Friends |
|
| class | FbxScene |
Error Management |
|
| enum | EErrorCode
{ eIndexOutOfRange, eNullParameter, eShapeAlreadyAdded, eShapeInvalidName, eShapeNameClash, eShapeNoCurveFound, eUnknownError, eErrorCount } |
|
Error identifiers. More... |
|
| FbxError & | GetError () |
| Retrieves the error object. |
|
| EErrorCode | GetLastErrorID () const |
| Returns the last error code. |
|
| const char * | GetLastErrorString () const |
| Returns the last error string. |
|
| 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 212 of file fbxgeometry.h.
{
eRaw,
eLowNoNormals,
eLow,
eHighNoNormals,
eHigh
};
| enum EErrorCode |
Error identifiers.
Reimplemented in FbxNurbs, FbxNurbsCurve, and FbxNurbsSurface.
Definition at line 305 of file fbxgeometry.h.
| FbxGeometry | ( | FbxManager & | pManager, |
| char const * | pName | ||
| ) | [protected] |
| 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 | ) |
Remove a deformer.
| pIndex | Index of deformer to remove. |
NULL if pIndex
is out of range). If pIndex is out of range FbxGeometry::GetLastErrorID()
returns eIndexOutOfRange.| int GetDeformerCount | ( | ) | const |
Returns the number of deformers.
| FbxDeformer* GetDeformer | ( | int | pIndex | ) | const |
Returns the deformer at the specified index.
| pIndex | The specified deformer index. |
NULL if pIndex is out
of range). If pIndex is out of range, FbxGeometry::GetLastErrorID()
returns eIndexOutOfRange.| 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 | ||
| ) | const |
Returns the deformer of a specified type at the specified index.
| pIndex | The specified deformer index. |
| pType | The specified deformer type. |
NULL if pIndex is out
of range). If pIndex is out of range, FbxGeometry::GetLastErrorID()
returns eIndexOutOfRange.| 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 |
||
| ) |
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. |
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 | ||
| ) | const |
Returns the number of shapes.
| pBlendShapeIndex | The blend shape deformer index. |
| pBlendShapeChannelIndex | The blend shape channel index. |
| FbxShape* GetShape | ( | int | pBlendShapeIndex, |
| int | pBlendShapeChannelIndex, | ||
| int | pShapeIndex | ||
| ) |
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. |
NULL if pIndex is out of
range). If pIndex is out of range, FbxGeometry::GetLastErrorID()
returns eIndexOutOfRange.| FbxShape const* GetShape | ( | int | pBlendShapeIndex, |
| int | pBlendShapeChannelIndex, | ||
| int | pShapeIndex | ||
| ) | 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. |
NULL if pIndex is out of
range). If pIndex is out of range, FbxGeometry::GetLastErrorID()
returns eIndexOutOfRange.| FbxAnimCurve* GetShapeChannel | ( | int | pBlendShapeIndex, |
| int | pBlendShapeChannelIndex, | ||
| FbxAnimLayer * | pLayer, | ||
| bool | pCreateAsNeeded =
false |
||
| ) |
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. |
| pCreateAsNeeded | If true, creates the animation curve if it is not
already present. |
| pLayer | The animation layer from which we want to get the requested animation curve. |
| 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. |
| FbxError& GetError | ( | ) |
| EErrorCode GetLastErrorID | ( | ) | const |
| const char* GetLastErrorString | ( | ) | const |
Returns the last error string.
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.
| virtual void Destruct | ( | bool | pRecursive, |
| bool | pDependents | ||
| ) | [protected, virtual] |
Reimplemented from FbxLayerContainer.
Reimplemented in FbxLine, FbxMesh, FbxNurbs, FbxNurbsCurve, FbxNurbsSurface, FbxPatch, and FbxSubDiv.
| virtual void SetDocument | ( | FbxDocument * | pDocument | ) | [protected, virtual] |
Reimplemented from FbxLayerContainer.
| void CleanShapeChannels | ( | FbxAnimLayer * | pAnimLayer | ) |
Rename the shapes from the old MotionBuilder 4.01 format to the new one.
| void CleanShapeChannel | ( | FbxAnimLayer * | pAnimLayer, |
| int | pShapeIndex | ||
| ) |
Rename the shapes from the old MotionBuilder 4.01 format to the new one.
| void CreateShapeChannelProperties | ( | FbxString & | pShapeName | ) |
| FbxString CreateShapeChannelName | ( | int | pShapeIndex | ) | [protected] |
| void ConvertShapeNamesToV5Format | ( | FbxString | pTakeNodeName | ) |
| void ConvertShapeNamesToV5Format | ( | FbxString | pTakeNodeName, |
| int | pShapeIndex | ||
| ) |
| void RevertShapeNamesToV6Format | ( | FbxString | pTakeNodeName | ) |
| void RevertShapeNamesToV6Format | ( | FbxString | pTakeNodeName, |
| int | pShapeIndex | ||
| ) |
| void ClearTemporaryShapeNames | ( | ) |
| void CopyDeformers | ( | FbxGeometry const * | pGeometry | ) | [protected] |
| void CopyPivot | ( | FbxGeometry const * | pSource | ) | [protected] |
friend class FbxScene [friend] |
Reimplemented from FbxLayerContainer.
Definition at line 383 of file fbxgeometry.h.
FbxArray<FbxString*> mShapeNameArrayV6
[protected] |
Definition at line 374 of file fbxgeometry.h.
FbxArray<FbxString*> mShapeNameArrayV5
[protected] |
Definition at line 375 of file fbxgeometry.h.
FbxArray<FbxString*> mShapeChannelNameArrayV5
[protected] |
Definition at line 376 of file fbxgeometry.h.
FbxAMatrix* mPivot
[protected] |
Definition at line 378 of file fbxgeometry.h.
Definition at line 381 of file fbxgeometry.h.