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

FbxSubDeformer Class Reference

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


Search for all occurrences

Detailed Description

Base class for cluster sub-deformer( FbxCluster) and blend shape channel sub-deformer( FbxBlendShapeChannel)

The corresponding sub-deformer types are FbxSubDeformer::eCluster and FbxSubDeformer::eBlendShapeChannel.

A cluster, or link, is an entity acting on a geometry (FbxGeometry). More precisely, the cluster acts on a subset of the geometry's control points. For each control point that the cluster acts on, the intensity of the cluster's action is modulated by a weight. The link mode (ELinkMode) specifies how the weights are taken into account. The cluster's link node specifies the node (FbxNode) that influences the control points of the cluster. If the node is animated, the control points will move accordingly. A cluster is usually part of a skin (see FbxDeformer, FbxSkin). For example, imagine a mesh representing a humanoid, and imagine a skeleton made of bones. Each bone is represented by a node in FBX. To bind the geometry to the nodes, we create a skin (FbxSkin). The skin has many clusters, each one corresponding to a bone. Each node influences some control points of the mesh. A node has a high influence on some of the points (high weight) and lower influence on some other points (low weight). Some points of the mesh are not affected at all by the bone, so they would not be part of the corresponding cluster.

A blend shape channel is a sub-deformer to help blend shape deformer to organize the target shapes. One blend shape deformer can have multiple blend shape channels in parallel, and each of them can control one or multiple target shapes. If there are multiple target shapes connected to one channel, and each target shape could have its own full deformation percentage, for example, one channel could have 3 target shapes, whose full deform percentage are 30, to 80 to 100, then when the percent change from 0 to 100, the base geometry will deform from the first target shape to the last one, this is called In-Between blend-shapes. The blend shape channel also control the deform percent of each target shape or In-Between blend shape on it.

Definition at line 63 of file fbxsubdeformer.h.

#include <fbxsubdeformer.h>

Inheritance diagram for FbxSubDeformer:
Inheritance graph
[legend]

List of all members.

Public Types

enum   EType { eUnknown, eCluster, eBlendShapeChannel }
 

Sub-deformer type.

More...

Public Member Functions

void  SetMultiLayer (bool pMultiLayer)
  Set multi layer state flag.
bool  GetMultiLayer () const
  Get multilayer state.
virtual EType  GetSubDeformerType () const
  Get the type of the sub-deformer.

Protected Member Functions

  FbxSubDeformer (FbxManager &pManager, char const *pName)
virtual FbxStringList  GetTypeFlags () const

Protected Attributes

FbxError  mError
bool  mMultiLayer

Friends

class  FbxGeometry
class  FbxScene

Error Management

enum   EErrorCode { eError, eErrorCount }
 

Error identifiers.

More...
FbxError GetError ()
  Retrieve error object.
EErrorCode  GetLastErrorID () const
  Get last error code.
const char *  GetLastErrorString () const
  Get last error string.

Member Enumeration Documentation

enum EType

Sub-deformer type.

Enumerator:
eUnknown 

Untyped sub-deformer.

eCluster 

Type FbxCluster.

eBlendShapeChannel 

Type FbxBlendShapeChannel.

Definition at line 81 of file fbxsubdeformer.h.

enum EErrorCode

Error identifiers.

  • eError
Enumerator:
eError 
eErrorCount 

Definition at line 106 of file fbxsubdeformer.h.


Constructor & Destructor Documentation

FbxSubDeformer ( FbxManager pManager,
char const *  pName 
) [protected]

Member Function Documentation

void SetMultiLayer ( bool  pMultiLayer )

Set multi layer state flag.

Parameters:
pMultiLayer If true, multi-layering is enabled.
bool GetMultiLayer ( ) const

Get multilayer state.

Returns:
The state of the multi-layer flag.
virtual EType GetSubDeformerType ( ) const [inline, virtual]

Get the type of the sub-deformer.

Returns:
SubDeformer type identifier.

Reimplemented in FbxBlendShapeChannel, and FbxCluster.

Definition at line 91 of file fbxsubdeformer.h.

{ return eUnknown; }
FbxError& GetError ( )

Retrieve error object.

Returns:
Reference to error object.
EErrorCode GetLastErrorID ( ) const

Get last error code.

Returns:
Last error code.
const char* GetLastErrorString ( ) const

Get last error string.

Returns:
Textual description of the last error.
virtual FbxStringList GetTypeFlags ( ) const [inline, protected, virtual]

Reimplemented from FbxObject.

Reimplemented in FbxBlendShapeChannel, and FbxCluster.

Definition at line 136 of file fbxsubdeformer.h.

{ return FbxStringList(); }

Friends And Related Function Documentation

friend class FbxGeometry [friend]

Definition at line 142 of file fbxsubdeformer.h.

friend class FbxScene [friend]

Reimplemented from FbxObject.

Reimplemented in FbxBlendShapeChannel, and FbxCluster.

Definition at line 143 of file fbxsubdeformer.h.


Member Data Documentation

FbxError mError [protected]

Definition at line 139 of file fbxsubdeformer.h.

bool mMultiLayer [protected]

Definition at line 140 of file fbxsubdeformer.h.


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

FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer
FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer FbxSubDeformer