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, 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.
ExportScene02/main.cxx, ExportScene03/main.cxx, ImportScene/DisplayAnimation.cxx, ImportScene/DisplayShape.cxx, and ViewScene/DrawScene.cxx.
Definition at line 65 of file kfbxblendshapechannel.h.
#include <kfbxblendshapechannel.h>
Public Member Functions |
|
bool | SetBlendShapeDeformer (KFbxBlendShape *pBlendShape) |
Set the blend shape deformer that contains
this blend shape channel. |
|
KFbxBlendShape * | GetBlendShapeDeformer () |
Get the blend shape deformer that contains
this blend shape channel. |
|
bool | AddTargetShape (KFbxShape *pShape, double pFullDeformPercent=100) |
Add a target shape. |
|
KFbxShape * | RemoveTargetShape (KFbxShape *pShape) |
Remove the given target shape. |
|
int | GetTargetShapeCount () const |
Get the number of target shapes. |
|
KFbxShape * | GetTargetShape (int pIndex) |
Get the target shape at given index.
|
|
KFbxShape const * | GetTargetShape (int pIndex) const |
Get the target shape at given index.
|
|
int | GetTargetShapeIndex (KFbxShape *pShape) |
Get the index of the given target shape.
|
|
double * | GetTargetShapeFullWeights () |
Get the full weight value of target shape at
given index. |
|
void | SetFullWeightsCount (int pCount) |
Set the array size for the fully deform
weights. |
|
Public Attributes |
|
KFbxTypedProperty< double > | DeformPercent |
This property stores deform percent on this
channel. |
|
General Functions |
|
KArrayTemplate< double > | mShapeFullWeightArray |
class | KFbxScene |
ESubDeformerType | GetSubDeformerType () const |
Get the type of the sub deformer. |
|
void | Reset () |
Restore the blend shape channel to its
initial state. |
|
virtual KFbxObject & | Copy (const KFbxObject &pObject) |
Copy an object content into this object.
|
|
KFbxBlendShapeChannel (KFbxSdkManager &pManager, char const *pName) | |
virtual void | Construct (const KFbxBlendShapeChannel *pFrom) |
virtual bool | ConstructProperties (bool pForceSet) |
virtual KStringList | GetTypeFlags () const |
KFbxBlendShapeChannel | ( | KFbxSdkManager & | pManager, |
char const * | pName | ||
) | [protected] |
bool SetBlendShapeDeformer | ( | KFbxBlendShape * | 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.KFbxBlendShape* GetBlendShapeDeformer | ( | ) |
Get the blend shape deformer that contains this blend shape channel.
bool AddTargetShape | ( | KFbxShape * | 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.
KFbxShape* GetTargetShape | ( | int | pIndex | ) |
Get the target shape at given index.
pIndex | Index of the target shape. |
NULL
if index is
out of range.KFbxShape 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 | ( | KFbxShape * | pShape | ) |
Get the index of the given target shape.
pShape | The given target shape to find index. |
double* GetTargetShapeFullWeights | ( | ) |
Get the full weight value of target shape at given index.
pIndex | Index of the target shape. |
void SetFullWeightsCount | ( | int | pCount | ) |
Set the array size for the fully deform weights.
pCount | The new count. |
ESubDeformerType GetSubDeformerType | ( | ) | const [inline, virtual] |
Get the type of the sub deformer.
Reimplemented from KFbxSubDeformer.
Definition at line 140 of file kfbxblendshapechannel.h.
{return eBLENDSHAPECHANNEL; };
void Reset | ( | ) |
Restore the blend shape channel to its initial state.
Calling this function will do the following:
virtual KFbxObject& Copy | ( | const KFbxObject & | pObject | ) | [virtual] |
Copy an object content into this object.
pObject | The source object to copy data from. |
Reimplemented from KFbxObject.
virtual void Construct | ( | const KFbxBlendShapeChannel * | pFrom | ) | [protected, virtual] |
virtual bool ConstructProperties | ( | bool | pForceSet | ) | [protected, virtual] |
Reimplemented from KFbxObject.
virtual KStringList GetTypeFlags | ( | ) | const [protected, virtual] |
Reimplemented from KFbxSubDeformer.
friend class KFbxScene [friend] |
Reimplemented from KFbxSubDeformer.
Definition at line 178 of file kfbxblendshapechannel.h.
KFbxTypedProperty<double> DeformPercent |
This property stores deform percent on this channel.
The value range is from 0.0 to 100.0, default value is 0.0.
Definition at line 73 of file kfbxblendshapechannel.h.
KArrayTemplate<double>
mShapeFullWeightArray [protected] |
Definition at line 174 of file kfbxblendshapechannel.h.