Class for blend shape channels.
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, each target shape could have its own full deformation percentage. For example, given a channel that has 3 target shapes, whose full deform percentage are 30, to 80 to 100 separately, then when the percent changes 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 or progressive morph. The property DeformPercent of blend shape channel will control the deform level of each target shape or in-between blend shape on it.
Definition at line 37 of file fbxblendshapechannel.h.
#include <fbxblendshapechannel.h>

Public Member Functions | |
| bool | SetBlendShapeDeformer (FbxBlendShape *pBlendShape) |
| Set the blend shape deformer that contains this blend shape channel. | |
| FbxBlendShape * | GetBlendShapeDeformer () |
| Get the blend shape deformer that contains this blend shape channel. | |
| bool | AddTargetShape (FbxShape *pShape, double pFullDeformPercent=100) |
| Add a target shape. | |
| FbxShape * | RemoveTargetShape (FbxShape *pShape) |
| Remove the given target shape. | |
| int | GetTargetShapeCount () const |
| Get the number of target shapes. | |
| FbxShape * | GetTargetShape (int pIndex) |
| Get the target shape at given index. | |
| FbxShape const * | GetTargetShape (int pIndex) const |
| Get the target shape at given index. | |
| int | GetTargetShapeIndex (FbxShape *pShape) |
| Get the index of the given target shape. | |
| double * | GetTargetShapeFullWeights () |
| Get the full weight values of target shape. | |
| void | SetFullWeightsCount (int pCount) |
| Set the array size for the fully deform weights. | |
Public Attributes | |
| FbxPropertyT< FbxDouble > | DeformPercent |
| This property stores deform percent of this channel. | |
General Functions | |
| FbxArray< double > | mShapeFullWeightArray |
| EType | GetSubDeformerType () const |
| Get the type of the sub deformer. | |
| void | Reset () |
| Restore the blend shape channel to the initial state. | |
| virtual FbxObject & | Copy (const FbxObject &pObject) |
| Copy an object content into this object. | |
| virtual void | Construct (const FbxBlendShapeChannel *pFrom) |
| virtual void | ConstructProperties (bool pForceSet) |
| Optional property constructor override, automatically called by default constructor. | |
| virtual FbxStringList | GetTypeFlags () const |
| bool SetBlendShapeDeformer | ( | FbxBlendShape * | pBlendShape | ) |
Set the blend shape deformer that contains this blend shape channel.
| pBlendShape | Pointer to the blend shape deformer to set. |
true on success, false otherwise. | FbxBlendShape* GetBlendShapeDeformer | ( | ) |
Get the blend shape deformer that contains this blend shape channel.
| bool AddTargetShape | ( | FbxShape * | pShape, |
| double | pFullDeformPercent = 100 |
||
| ) |
Add a target shape.
| pShape | Pointer to the target shape to add. |
| pFullDeformPercent | The full deform percentage for the target shape. |
true on success, false otherwise. Remove the given target shape.
| pShape | Pointer to the target shape to remove from this blend shape channel. |
NULL if pShape is not owned by this blend shape channel. | int GetTargetShapeCount | ( | ) | const |
Get the number of target shapes.
| FbxShape* GetTargetShape | ( | int | pIndex | ) |
Get the target shape at given index.
| pIndex | Index of the target shape. |
NULL if index is out of range. | FbxShape const* GetTargetShape | ( | int | pIndex | ) | const |
Get the target shape at given index.
| pIndex | Index of the target shape. |
NULL if index is out of range. | int GetTargetShapeIndex | ( | FbxShape * | pShape | ) |
Get the index of the given target shape.
| pShape | The given target shape to find index. |
| double* GetTargetShapeFullWeights | ( | ) |
Get the full weight values of target shape.
To access each value iterate in the array up to GetTargetShapeCount().
| void SetFullWeightsCount | ( | int | pCount | ) |
Set the array size for the fully deform weights.
This functions pre-allocate the array to pCount size.
| pCount | The new array size to set. |
| EType GetSubDeformerType | ( | ) | const [inline, virtual] |
Get the type of the sub deformer.
Reimplemented from FbxSubDeformer.
Definition at line 117 of file fbxblendshapechannel.h.
{return eBlendShapeChannel; };
| void Reset | ( | ) |
Restore the blend shape channel to the initial state.
Calling this function will do the following:
Copy an object content into this object.
| pObject | The source object to copy data from. |
Reimplemented from FbxObject.
| virtual void Construct | ( | const FbxBlendShapeChannel * | pFrom | ) | [protected, virtual] |
| virtual void ConstructProperties | ( | bool | pForceSet | ) | [protected, virtual] |
Optional property constructor override, automatically called by default constructor.
| pForceSet | If the property value must be set regardless of default value. |
Reimplemented from FbxObject.
| virtual FbxStringList GetTypeFlags | ( | ) | const [protected, virtual] |
Reimplemented from FbxSubDeformer.
This property stores deform percent of this channel.
The default value of this property is 0.0.
Definition at line 49 of file fbxblendshapechannel.h.
FbxArray<double> mShapeFullWeightArray [protected] |
Definition at line 141 of file fbxblendshapechannel.h.