- Main Page
- Classes
- Files
- Directories
- Examples

- Class List
- Class Hierarchy
- Class Members

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:
[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

Search for all occurrences

Sub-deformer type.

Enumerator:

  eUnknown | Untyped sub-deformer. Search for all occurrences
  eCluster | Type FbxCluster. Search for all occurrences
  eBlendShapeChannel | Type FbxBlendShapeChannel. Search for all occurrences

Definition at line 81 of file fbxsubdeformer.h.

            {
                eUnknown,
                eCluster,
                eBlendShapeChannel
            };

enum EErrorCode

Search for all occurrences

Error identifiers.

- eError

Enumerator:

  eError | Search for all occurrences
  eErrorCount | Search for all occurrences

Definition at line 106 of file fbxsubdeformer.h.

            {
                eError,
                eErrorCount
            };

## Constructor & Destructor Documentation

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

## Member Function Documentation

void SetMultiLayer | ( | bool | pMultiLayer | ) |

Search for all occurrences

Set multi layer state flag.

Parameters:

  pMultiLayer | If `true`, multi-layering is enabled.

bool GetMultiLayer | ( |  | ) | const

Search for all occurrences

Get multilayer state.

Returns:
  The state of the multi-layer flag.

virtual EType GetSubDeformerType | ( |  | ) | const `[inline, virtual]`

Search for all occurrences

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 | ( |  | ) |

Search for all occurrences

Retrieve error object.

Returns:
  Reference to error object.

EErrorCode GetLastErrorID | ( |  | ) | const

Search for all occurrences

Get last error code.

Returns:
  Last error code.

const char* GetLastErrorString | ( |  | ) | const

Search for all occurrences

Get last error string.

Returns:
  Textual description of the last error.

virtual FbxStringList GetTypeFlags | ( |  | ) | const `[inline, protected, virtual]`

Search for all occurrences

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]`

Search for all occurrences

Definition at line 142 of file fbxsubdeformer.h.

friend class FbxScene `[friend]`

Search for all occurrences

Reimplemented from FbxObject.

Reimplemented in FbxBlendShapeChannel, and FbxCluster.

Definition at line 143 of file fbxsubdeformer.h.

## Member Data Documentation

FbxError mError `[protected]`

Search for all occurrences

Definition at line 139 of file fbxsubdeformer.h.

bool mMultiLayer `[protected]`

Search for all occurrences

Definition at line 140 of file fbxsubdeformer.h.

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

- fbxsdk/scene/geometry/fbxsubdeformer.h

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