Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends

KFbxGeometry Class Reference

This reference page is linked to from the following overview topics: Geometry, Meshes, List of Python FBX classes.


Search for all occurrences

Detailed Description

The base class of geometric objects that support control point deformations (e.g.

KFbxMesh, KFbxNurb, and KFbxPatch). The KFbxGeometry provides support for the following kinds of deformations.

Most of the methods of KFbxGeometry 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(KFbxDeformer::ClassId)
Examples:

ExportScene01/main.cxx, ExportScene02/main.cxx, ExportScene03/main.cxx, ImportScene/DisplayAnimation.cxx, ImportScene/DisplayLink.cxx, ImportScene/DisplayMaterial.cxx, ImportScene/DisplayShape.cxx, and ImportScene/DisplayTexture.cxx.

Definition at line 83 of file kfbxgeometry.h.

#include <kfbxgeometry.h>

Inheritance diagram for KFbxGeometry:
Inheritance graph
[legend]

List of all members.

Public Types

enum   ESurfaceMode {
  eRAW, eLOW_NO_NORMALS, eLOW, eHIGH_NO_NORMALS,
  eHIGH
}
 

NURBS and Patches surface modes.

More...

Public Member Functions

virtual EAttributeType  GetAttributeType () const
  Returns the node attribute type.
virtual KFbxObject Copy (const KFbxObject &pObject)
  Copy an object content into this object.
void  CleanShapeChannels (KFbxAnimLayer *pAnimLayer)
  Rename the shapes from the old MotionBuilder 4.01 format to the new one.
void  CleanShapeChannel (KFbxAnimLayer *pAnimLayer, int pShapeIndex)
  Rename the shapes from the old MotionBuilder 4.01 format to the new one.
void  CreateShapeChannelProperties (KString &pShapeName)
void  ConvertShapeNamesToV5Format (KString pTakeNodeName)
void  ConvertShapeNamesToV5Format (KString pTakeNodeName, int pShapeIndex)
void  RevertShapeNamesToV6Format (KString pTakeNodeName)
void  RevertShapeNamesToV6Format (KString pTakeNodeName, int pShapeIndex)
void  ClearTemporaryShapeNames ()
Deformer Management
int  AddDeformer (KFbxDeformer *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").
KFbxDeformer RemoveDeformer (int pIndex)
  Remove a deformer.
int  GetDeformerCount () const
  Returns the number of deformers.
KFbxDeformer GetDeformer (int pIndex) const
  Returns the deformer at the specified index.
int  GetDeformerCount (KFbxDeformer::EDeformerType pType) const
  Returns the number of deformers of a specified type.
KFbxDeformer GetDeformer (int pIndex, KFbxDeformer::EDeformerType pType) const
  Returns the deformer of a specified type at the specified index.
Geometry Weighted Maps Management
KFbxGeometryWeightedMap 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.
KFbxGeometryWeightedMap GetDestinationGeometryWeightedMap (int pIndex)
  Returns the destination geometry weighted map at a specified index.
Shape Management - Deprecated functions.

All the methods in this section have been deprecated and will be removed in the next release.

See also:
KFbxBlendShape, KFbxBlendShapeChannel, KFbxAnimCurve, KFbxShape.
virtual K_DEPRECATED int  AddShape (KFbxShape *pShape, char const *pShapeName)
  Deprecated.
virtual K_DEPRECATED KFbxShape GetShape (int pIndex)
  Deprecated.
virtual K_DEPRECATED KFbxShape
const * 
GetShape (int pIndex) const
  Deprecated: See code snippet in KFbxGeometry::GetShape().
virtual K_DEPRECATED char const *  GetShapeName (int pIndex) const
  Deprecated: See code snippet in KFbxGeometry::GetShape() and use KFbxObject::GetName() on the desired shape.
virtual K_DEPRECATED
KFbxAnimCurve
GetShapeChannel (char const *pShapeName, KFbxAnimLayer *pLayer, bool pCreateAsNeeded=false)
  Deprecated: See code snippet in KFbxGeometry::GetShape().
virtual K_DEPRECATED KFCurve GetShapeChannel (int pIndex, bool pCreateAsNeeded=false, char const *pTakeName=NULL)
  Deprecated: See code snippet in KFbxGeometry::GetShape().
virtual K_DEPRECATED
KFbxAnimCurve
GetShapeChannel (int pIndex, KFbxAnimLayer *pLayer, bool pCreateAsNeeded=false)
  Deprecated: See code snippet in KFbxGeometry::GetShape().
Shape Management
bool  AddShape (int pBlendShapeIndex, int pBlendShapeChannelIndex, KFbxShape *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.
KFbxShape 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.
KFbxShape 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.
KFbxAnimCurve GetShapeChannel (int pBlendShapeIndex, int pBlendShapeChannelIndex, KFbxAnimLayer *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.

KFbxXMatrix GetPivot (KFbxXMatrix &pXMatrix) const
  Returns the pivot matrix.
void  SetPivot (KFbxXMatrix &pXMatrix)
  Sets the pivot matrix.
void  ApplyPivot ()
  Applies the pivot matrix to all vertices/normals of the geometry.
Default Animation Values - Deprecated functions.

All the methods in this section have been deprecated and will be removed in the next release.

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.

K_DEPRECATED void  SetDefaultShape (int pIndex, double pPercent)
  Sets the default deformation for a specified shape.
K_DEPRECATED void  SetDefaultShape (char const *pShapeName, double pPercent)
  Sets the default deformation for a specified shape.
K_DEPRECATED const double  GetDefaultShape (int pIndex) const
  Returns the default deformation value for the specified shape.
K_DEPRECATED const double  GetDefaultShape (char const *pShapeName) const
  Returns the default deformation value for the specified shape.
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 (KFbxBlendShapeChannel *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 (KFbxBlendShapeChannel *pBlendShapeChannel) const
  Returns the default deformation value for the specified shape.

Protected Member Functions

  KFbxGeometry (KFbxSdkManager &pManager, char const *pName)
virtual void  Destruct (bool pRecursive, bool pDependents)
virtual void  SetDocument (KFbxDocument *pDocument)
KString  CreateShapeChannelName (int pShapeIndex)
KString  CreateShapeChannelName (KString pShapeName)
void  CopyDeformers (KFbxGeometry const *pGeometry)
void  CopyShapes (KFbxGeometry const *pGeometry)
void  CopyPivot (KFbxGeometry const *pSource)

Protected Attributes

KArrayTemplate< KString * >  mShapeNameArrayV6
KArrayTemplate< KString * >  mShapeNameArrayV5
KArrayTemplate< KString * >  mShapeChannelNameArrayV5
KFbxXMatrix mPivot
KError  mError

Friends

class  KFbxScene

Error Management

enum   EError {
  eINDEX_OUT_OF_RANGE, eNULL_PARAMETER, eSHAPE_ALREADY_ADDED, eSHAPE_INVALID_NAME,
  eSHAPE_NAME_CLASH, eSHAPE_NO_CURVE_FOUND, eUNKNOWN_ERROR, eERROR_COUNT
}
 

Error identifiers.

More...
KError GetError ()
  Retrieves the error object.
EError  GetLastErrorID () const
  Returns the last error code.
const char *  GetLastErrorString () const
  Returns the last error string.

Member Enumeration Documentation

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 KFbxNurb, KFbxNurbSurface and KFbxPatch classes) is stored to FBX files and retrieved from them.

Remarks:
The enum has been defined in this class to avoid symbols duplication.
Enumerator:
eRAW 
eLOW_NO_NORMALS 
eLOW 
eHIGH_NO_NORMALS 
eHIGH 

Definition at line 383 of file kfbxgeometry.h.

enum EError

Error identifiers.

Enumerator:
eINDEX_OUT_OF_RANGE 

The index used to access an item is out of range.

eNULL_PARAMETER 

Requested pointer to shape object is NULL.

eSHAPE_ALREADY_ADDED 

The specified shape has already been added to this object.

eSHAPE_INVALID_NAME 

The provided name argument is empty.

eSHAPE_NAME_CLASH 

The provided name is already used by another shape.

eSHAPE_NO_CURVE_FOUND 

The shape's animation curve could not be found.

eUNKNOWN_ERROR 

Generic error message.

eERROR_COUNT 

Reimplemented in KFbxNurb, KFbxNurbsCurve, and KFbxNurbsSurface.

Definition at line 520 of file kfbxgeometry.h.


Constructor & Destructor Documentation

KFbxGeometry ( KFbxSdkManager pManager,
char const *  pName 
) [protected]

Member Function Documentation

virtual EAttributeType GetAttributeType ( ) const [virtual]

Returns the node attribute type.

This method is derived in the more high level classes (KFbxMesh, KFbxNurbs, etc...) and returns the actual type of the geometry object.

Returns:
eUNIDENTIFIED

Reimplemented from KFbxLayerContainer.

Reimplemented in KFbxLine, KFbxMesh, KFbxNurb, KFbxNurbsCurve, KFbxNurbsSurface, KFbxPatch, KFbxSubdiv, KFbxBoundary, and KFbxTrimNurbsSurface.

int AddDeformer ( KFbxDeformer 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").

Parameters:
pDeformer Pointer to the deformer to be added.
Returns:
Index of the added deformer.
Examples:
ExportScene01/main.cxx, ExportScene02/main.cxx, ExportScene03/main.cxx, and SwitchBinding/main.cxx.
KFbxDeformer* RemoveDeformer ( int  pIndex )

Remove a deformer.

Parameters:
pIndex Index of deformer to remove.
Returns:
Pointer to the removed deformer (or NULL if pIndex is out of range). If pIndex is out of range KFbxGeometry::GetLastErrorID() returns eINDEX_OUT_OF_RANGE.
Examples:
SwitchBinding/main.cxx.
int GetDeformerCount ( ) const

Returns the number of deformers.

Returns:
The number of deformers that are connected to this geometry.
Examples:
ImportScene/DisplayAnimation.cxx, ImportScene/DisplayLink.cxx, ImportScene/DisplayShape.cxx, ViewScene/DrawScene.cxx, and ViewScene/InitScene.cxx.
KFbxDeformer* GetDeformer ( int  pIndex ) const

Returns the deformer at the specified index.

Parameters:
pIndex The specified deformer index.
Returns:
Pointer to the deformer (or NULL if pIndex is out of range). If pIndex is out of range, KFbxGeometry::GetLastErrorID() returns eINDEX_OUT_OF_RANGE.
Examples:
ExportScene03/main.cxx, ImportScene/DisplayAnimation.cxx, ImportScene/DisplayLink.cxx, ImportScene/DisplayShape.cxx, SwitchBinding/main.cxx, ViewScene/DrawScene.cxx, and ViewScene/InitScene.cxx.
int GetDeformerCount ( KFbxDeformer::EDeformerType  pType ) const

Returns the number of deformers of a specified type.

Parameters:
pType The specified deformer type.
Returns:
The number of deformers of the specified type.
KFbxDeformer* GetDeformer ( int  pIndex,
KFbxDeformer::EDeformerType  pType 
) const

Returns the deformer of a specified type at the specified index.

Parameters:
pIndex The specified deformer index.
pType The specified deformer type.
Returns:
Pointer to the deformer (or NULL if pIndex is out of range). If pIndex is out of range, KFbxGeometry::GetLastErrorID() returns eINDEX_OUT_OF_RANGE.
KFbxGeometryWeightedMap* GetSourceGeometryWeightedMap ( )

Returns the source geometry weighted map that is connected to this geometry.

Returns:
Pointer to the source geometry weighted map that is connected to this geometry if any.
int GetDestinationGeometryWeightedMapCount ( ) const

Returns the number of destination geometry weighted map(s) that are connected to this geometry.

Returns:
The number of destination geometry weighted map(s) that are connected to this geometry.
KFbxGeometryWeightedMap* GetDestinationGeometryWeightedMap ( int  pIndex )

Returns the destination geometry weighted map at a specified index.

Parameters:
pIndex The specified index.
Returns:
Pointer to the destination geometry weighted map at the specified index (if any).
virtual K_DEPRECATED int AddShape ( KFbxShape pShape,
char const *  pShapeName 
) [virtual]

Deprecated.

Use this code instead:

 KFbxBlendShape* lBlendShape = KFbxBlendShape::Create(pScene,"MyBlendShape");
 KFbxBlendShapeChannel* lBlendShapeChannel = KFbxBlendShapeChannel::Create(pScene,"MyBlendShapeChannel");
 KFbxShape* lShape = KFbxShape::Create(pScene,"StretchedShape");
 lBlendShapeChannel->AddTargetShape(lShape);
 lBlendShape->AddBlendShapeChannel(lBlendShapeChannel);
 lGeometry->AddDeformer(lBlendShape);

Add a shape and the shape's associated name to this geometry.

Parameters:
pShape Pointer to the shape object to be added.
pShapeName Name of the shape.
Returns:
Index of the added shape, -1 if operation fails. If the operation fails, KFbxGeometry::GetLastErrorID() can return one of the following:
  • eNULL_PARAMETER: Pointer to shape is NULL.
  • eSHAPE_ALREADY_ADDED: Shape has already been added.
  • eSHAPE_INVALID_NAME: The name provided is empty.
  • eSHAPE_NAME_CLASH: The name provided is already used by another shape.
Remarks:
The name provided is stripped from the surrounding white space before it is compared to the other shape names. It is recommended not to prefix the shape name with its enclosing node name because MotionBuilder is known to strip this prefix and not restore it.
virtual K_DEPRECATED KFbxShape* GetShape ( int  pIndex ) [virtual]

Deprecated.

Use the following code snippet to:

  • Get Shapes and shape influences.
  • Find out which shape of the In-between blend-shapes is working at a given time pTime.
        int lBlendShapeDeformerCount = pMesh->GetDeformerCount(KFbxDeformer::eBLENDSHAPE);
        for(int lBlendShapeIndex = 0; lBlendShapeIndex<lBlendShapeDeformerCount; ++lBlendShapeIndex)
        {
            KFbxBlendShape* lBlendShape = (KFbxBlendShape*)pMesh->GetDeformer(lBlendShapeIndex, KFbxDeformer::eBLENDSHAPE);
    
            int lBlendShapeChannelCount = lBlendShape->GetBlendShapeChannelCount();
            for(int lChannelIndex = 0; lChannelIndex<lBlendShapeChannelCount; ++lChannelIndex)
            {
                KFbxBlendShapeChannel* lChannel = lBlendShape->GetBlendShapeChannel(lChannelIndex);
    
                if(lChannel)
                {
                    // Get the percentage of influence of the shape.
                    KFbxAnimCurve* lFCurve = pMesh->GetShapeChannel(lBlendShapeIndex, lChannelIndex, gCurrentAnimationLayer);
                    if (!lFCurve) continue;
                    double lWeight = lFCurve->Evaluate(pTime);
    
                    //Find which shape should we use according to the weight.
                    int lShapeCount = lChannel->GetTargetShapeCount();
                    double* lFullWeights = lChannel->GetTargetShapeFullWeights();
                    for(int lShapeIndex = 0; lShapeIndex<lShapeCount; ++lShapeIndex)
                    {
                        KFbxShape* lShape = NULL;
                        if(lWeight > 0 && lWeight < lFullWeights[0])
                        {
                            lShape = lChannel->GetTargetShape(0);
                        }
                        if(lWeight > lFullWeights[lShapeIndex] && lWeight < lFullWeights[lShapeIndex+1])
                        {
                            lShape = lChannel->GetTargetShape(lShapeIndex+1);
                        }
    
                        if(lShape)
                        {               
                            for (int j = 0; j < lVertexCount; j++)
                            {
                                // Add the influence of the shape vertex to the mesh vertex.
                                KFbxVector4 lInfluence = (lShape->GetControlPoints()[j] - lSrcVertexArray[j]) * lWeight * 0.01;
                                lDstVertexArray[j] += lInfluence;
                            }                       
                        }
                    }//For each target shape
                }//If lChannel is valid
            }//For each blend shape channel
        }//For each blend shape deformer
    
    Returns the shape found at the specified index.
    Parameters:
    pIndex The specified index.
    Returns:
    Pointer to the shape (or NULL if pIndex is out of range). If pIndex is out of range, KFbxGeometry::GetLastErrorID() returns eINDEX_OUT_OF_RANGE.
virtual K_DEPRECATED KFbxShape const* GetShape ( int  pIndex ) const [virtual]

Deprecated: See code snippet in KFbxGeometry::GetShape().

Returns the shape found at the specified index.

Parameters:
pIndex The specified index.
Returns:
Pointer to the shape (or NULL if pIndex is out of range). If pIndex is out of range, KFbxGeometry::GetLastErrorID() returns eINDEX_OUT_OF_RANGE.
virtual K_DEPRECATED char const* GetShapeName ( int  pIndex ) const [virtual]

Deprecated: See code snippet in KFbxGeometry::GetShape() and use KFbxObject::GetName() on the desired shape.

Returns the shape name found at the specified index.

Parameters:
pIndex The specified index.
Returns:
Shape name (or NULL if pIndex is out of range). If pIndex is out of range, KFbxGeometry::GetLastErrorID() returns eINDEX_OUT_OF_RANGE.
virtual K_DEPRECATED KFbxAnimCurve* GetShapeChannel ( char const *  pShapeName,
KFbxAnimLayer pLayer,
bool  pCreateAsNeeded = false 
) [virtual]

Deprecated: See code snippet in KFbxGeometry::GetShape().

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.

Parameters:
pShapeName The shape name.
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.
Returns:
Animation curve (or NULL if an error occurred). If an error occurs, KFbxGeometry::GetLastErrorID() returns one of the following:
  • eINDEX_OUT_OF_RANGE: Shape index is out of range.
  • eSHAPE_NO_CURVE_FOUND: Shape curve could not be found.
Remarks:
If pLayer is left at NULL, the method will use the first layer of the Animation stack.
Examples:
ExportScene02/main.cxx, ExportScene03/main.cxx, ImportScene/DisplayAnimation.cxx, and ViewScene/DrawScene.cxx.
virtual K_DEPRECATED KFCurve* GetShapeChannel ( int  pIndex,
bool  pCreateAsNeeded = false,
char const *  pTakeName = NULL 
) [virtual]

Deprecated: See code snippet in KFbxGeometry::GetShape().

Get the shape animation curve. This method is deprecated and should not be used anymore. Instead call the equivalent using the KFbxAnimLayer.

Parameters:
pIndex
pCreateAsNeeded
pTakeName
virtual K_DEPRECATED KFbxAnimCurve* GetShapeChannel ( int  pIndex,
KFbxAnimLayer pLayer,
bool  pCreateAsNeeded = false 
) [virtual]

Deprecated: See code snippet in KFbxGeometry::GetShape().

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.

Parameters:
pIndex The shape index.
pCreateAsNeeded If true, creates the animation curve if it is not already present.
pLayer Animation layer from which we want to get the requested animation curve.
Returns:
Animation curve (or NULL if an error occurred). If an error occurs, KFbxGeometry::GetLastErrorID() returns one of the following:
  • eINDEX_OUT_OF_RANGE: Shape index is out of range.
  • eSHAPE_NO_CURVE_FOUND: Shape curve could not be found.
Remarks:
If pLayer is left NULL, use the first layer of the Animation stack.
bool AddShape ( int  pBlendShapeIndex,
int  pBlendShapeChannelIndex,
KFbxShape pShape,
double  pPercent = 100 
)

Add a shape to the specified blend shape deformer and blend shape channel of this geometry.

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

Returns:
The number of shapes that have been added to this geometry.
Examples:
ViewScene/DrawScene.cxx.
int GetShapeCount ( int  pBlendShapeIndex,
int  pBlendShapeChannelIndex 
) const

Returns the number of shapes.

Parameters:
pBlendShapeIndex The blend shape deformer index.
pBlendShapeChannelIndex The blend shape channel index.
Returns:
The number of shapes that have been added to this blend shape channel of this blend shape deformer.
KFbxShape* 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.

Parameters:
pBlendShapeIndex The blend shape deformer index.
pBlendShapeChannelIndex The blend shape channel index.
pShapeIndex The specified shape index.
Returns:
Pointer to the shape (or NULL if pIndex is out of range). If pIndex is out of range, KFbxGeometry::GetLastErrorID() returns eINDEX_OUT_OF_RANGE.
KFbxShape 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.

Parameters:
pBlendShapeIndex The blend shape deformer index.
pBlendShapeChannelIndex The blend shape channel index.
pShapeIndex The specified shape index.
Returns:
Pointer to the shape (or NULL if pIndex is out of range). If pIndex is out of range, KFbxGeometry::GetLastErrorID() returns eINDEX_OUT_OF_RANGE.
KFbxAnimCurve* GetShapeChannel ( int  pBlendShapeIndex,
int  pBlendShapeChannelIndex,
KFbxAnimLayer 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.

Parameters:
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.
Returns:
Animation curve (or NULL if an error occurred). If an error occurs, KFbxGeometry::GetLastErrorID() returns one of the following:
  • eINDEX_OUT_OF_RANGE: Shape index is out of range.
  • eSHAPE_NO_CURVE_FOUND: Shape curve could not be found.
Remarks:
If pLayer is left at NULL, the method will use the first layer of the Animation stack.
KFbxXMatrix& GetPivot ( KFbxXMatrix pXMatrix ) const

Returns the pivot matrix.

Parameters:
pXMatrix Placeholder for the returned matrix.
Returns:
Reference to the passed argument.
void SetPivot ( KFbxXMatrix pXMatrix )

Sets the pivot matrix.

Parameters:
pXMatrix The transformation matrix that is assigned to the pivot matrix.
void ApplyPivot ( )

Applies the pivot matrix to all vertices/normals of the geometry.

K_DEPRECATED void SetDefaultShape ( int  pIndex,
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.

Parameters:
pIndex The shape index.
pPercent Deformation percentage (on a scale ranging from 0 to 100).
Remarks:
This function has no effect if pIndex is out of range.
K_DEPRECATED void SetDefaultShape ( char const *  pShapeName,
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.

Parameters:
pShapeName The shape name.
pPercent Deformation percentage (on a scale ranging from 0 to 100).
Remarks:
This function has no effect if pShapeName is invalid.
K_DEPRECATED const double GetDefaultShape ( int  pIndex ) 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.

Parameters:
pIndex The shape index.
Returns:
The deformation value for the specified shape, or 0 if pIndex is out of range.
K_DEPRECATED const double GetDefaultShape ( char const *  pShapeName ) 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.

Parameters:
pShapeName The shape name.
Returns:
The deformation value for the specified shape, or 0 if pShapeName is invalid.
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.

Parameters:
pBlendShapeIndex The blend shape deformer index.
pBlendShapeChannelIndex The blend shape channel index.
pPercent Deformation percentage (on a scale ranging from 0 to 100).
Remarks:
This function has no effect if pIndex is out of range.
void SetDefaultShape ( KFbxBlendShapeChannel 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.

Parameters:
pBlendShape The blend shape deformer.
pBlendShapeChannel The blend shape channel.
pPercent Deformation percentage (on a scale ranging from 0 to 100).
Remarks:
This function has no effect if pShapeName is invalid.
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.

Parameters:
pBlendShapeIndex The blend shape deformer index.
pBlendShapeChannelIndex The blend shape channel index.
Returns:
The deformation value for the specified shape, or 0 if pIndex is out of range.
double GetDefaultShape ( KFbxBlendShapeChannel 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.

Parameters:
pBlendShape The blend shape deformer.
pBlendShapeChannel The blend shape channel.
Returns:
The deformation value for the specified shape, or 0 if pShapeName is invalid.
KError& GetError ( )

Retrieves the error object.

Returns:
Reference to the error object.
EError GetLastErrorID ( ) const

Returns the last error code.

Returns:
The last error code.
const char* GetLastErrorString ( ) const

Returns the last error string.

Returns:
Text description of the last error.
virtual KFbxObject& Copy ( const KFbxObject pObject ) [virtual]

Copy an object content into this object.

Parameters:
pObject The 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 KFbxGeometryBase.

Reimplemented in KFbxLine, KFbxMesh, KFbxNurb, KFbxNurbsCurve, KFbxNurbsSurface, KFbxPatch, KFbxBoundary, and KFbxTrimNurbsSurface.

virtual void Destruct ( bool  pRecursive,
bool  pDependents 
) [protected, virtual]
virtual void SetDocument ( KFbxDocument pDocument ) [protected, virtual]
void CleanShapeChannels ( KFbxAnimLayer pAnimLayer )

Rename the shapes from the old MotionBuilder 4.01 format to the new one.

void CleanShapeChannel ( KFbxAnimLayer pAnimLayer,
int  pShapeIndex 
)

Rename the shapes from the old MotionBuilder 4.01 format to the new one.

void CreateShapeChannelProperties ( KString pShapeName )
KString CreateShapeChannelName ( int  pShapeIndex ) [protected]
KString CreateShapeChannelName ( KString  pShapeName ) [protected]
void ConvertShapeNamesToV5Format ( KString  pTakeNodeName )
void ConvertShapeNamesToV5Format ( KString  pTakeNodeName,
int  pShapeIndex 
)
void RevertShapeNamesToV6Format ( KString  pTakeNodeName )
void RevertShapeNamesToV6Format ( KString  pTakeNodeName,
int  pShapeIndex 
)
void ClearTemporaryShapeNames ( )
void CopyDeformers ( KFbxGeometry const *  pGeometry ) [protected]
void CopyShapes ( KFbxGeometry const *  pGeometry ) [protected]
void CopyPivot ( KFbxGeometry const *  pSource ) [protected]

Friends And Related Function Documentation

friend class KFbxScene [friend]

Reimplemented from KFbxLayerContainer.

Definition at line 600 of file kfbxgeometry.h.


Member Data Documentation

Definition at line 591 of file kfbxgeometry.h.

Definition at line 592 of file kfbxgeometry.h.

Definition at line 593 of file kfbxgeometry.h.

KFbxXMatrix* mPivot [protected]

Definition at line 595 of file kfbxgeometry.h.

KError mError [mutable, protected]

Definition at line 598 of file kfbxgeometry.h.


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

KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry
KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry KFbxGeometry