This reference page is linked to from the following overview topics: Supported Scene Elements, List of Python Fbx classes, FBX Node Attributes.
#include <fbxskeleton.h>
This class specializes a node attribute to represent the elements forming "bone" chains.
The FbxSkeleton name of the class comes from the analogy with the human body skeletal structure. In fact, an object of this type is nothing more than a transform node with special properties that are useful for its graphical representation and during IK/FK and skin deformation computations. Typically, a scene will contain chains of FbxSkeleton node attributes that, together, form a skeleton segment. For instance, the representation of the leg of a character can be achieved using one parent node with the attribute eRoot, followed by one child (femur) of type eLimb, this child having a child also (tibia) of the same type. Finally, terminated with a last node attribute of type eEffector (ankle).
ExportScene01/main.cxx, ExportScene05/main.cxx, ImportScene/DisplaySkeleton.cxx, and ViewScene/DrawScene.cxx.
Definition at line 34 of file fbxskeleton.h.
Public Member Functions |
|
| virtual FbxNodeAttribute::EType | GetAttributeType () const |
| Return the type of node attribute (i.e:
FbxNodeAttribute::EType::eSkeleton). |
|
| void | Reset () |
Reset the skeleton to default values and
type to eRoot. |
|
Skeleton Properties |
|
| enum | EType { eRoot, eLimb, eLimbNode, eEffector } |
| Skeleton types. More... |
|
| void | SetSkeletonType (EType pSkeletonType) |
| Set the skeleton type. |
|
| EType | GetSkeletonType () const |
| Get the skeleton type. |
|
| bool | GetSkeletonTypeIsSet () const |
| Get a flag to know if the skeleton type was
set. |
|
| EType | GetSkeletonTypeDefaultValue () const |
| Get the default value for the skeleton type.
|
|
| double | GetLimbLengthDefaultValue () const |
| Get the default value for the limb length.
|
|
| double | GetLimbNodeSizeDefaultValue () const |
| Get the default value for the limb node
size. |
|
| bool | SetLimbNodeColor (const FbxColor &pColor) |
| Set limb or limb node color. |
|
| FbxColor | GetLimbNodeColor () const |
| Get limb or limb node color. |
|
| bool | GetLimbNodeColorIsSet () const |
| Get a flag to know if the limb node color
was set. |
|
| FbxColor | GetLimbNodeColorDefaultValue () const |
| Get the default value for the limb node
color. |
|
| bool | IsSkeletonRoot () const |
| To see if this skeleton is Root. |
|
Property Names |
|
| static const char * | sSize |
| static const char * | sLimbLength |
Property Default Values |
|
| static const FbxDouble | sDefaultSize |
| static const FbxDouble | sDefaultLimbLength |
| FbxPropertyT< FbxDouble > | Size |
| This property handles the limb node size.
|
|
| FbxPropertyT< FbxDouble > | LimbLength |
| This property handles the skeleton limb
length. |
|
| enum EType |
Skeleton types.
| eRoot |
First element of a chain. |
| eLimb |
Chain element. |
| eLimbNode |
Chain element. |
| eEffector |
Last element of a chain. |
Reimplemented from FbxNodeAttribute.
Definition at line 55 of file fbxskeleton.h.
| virtual FbxNodeAttribute::EType GetAttributeType | ( | ) | const [virtual] |
Return the type of node attribute (i.e: FbxNodeAttribute::EType::eSkeleton).
Reimplemented from FbxNodeAttribute.
| void Reset | ( | ) |
Reset the skeleton to default values and type to
eRoot.
| void SetSkeletonType | ( | EType | pSkeletonType | ) |
Set the skeleton type.
| pSkeletonType | Skeleton type identifier. |
| EType GetSkeletonType | ( | ) | const |
Get the skeleton type.
| bool GetSkeletonTypeIsSet | ( | ) | const |
Get a flag to know if the skeleton type was set.
true if a call to SetSkeletonType() has been made.false when Reset()
is called.| EType GetSkeletonTypeDefaultValue | ( | ) | const |
| double GetLimbLengthDefaultValue | ( | ) | const |
| double GetLimbNodeSizeDefaultValue | ( | ) | const |
| bool SetLimbNodeColor | ( | const FbxColor & | pColor | ) |
Set limb or limb node color.
| pColor | RGB values for the limb color. |
true if skeleton type is eLimb or
eLimbNode, false otherwise.eLimb or eLimbNode.| FbxColor GetLimbNodeColor | ( | ) | const |
Get limb or limb node color.
eLimb or eLimbNode.| bool GetLimbNodeColorIsSet | ( | ) | const |
Get a flag to know if the limb node color was set.
true if a call to SetLimbNodeColor() has been
made.false when Reset()
is called.| FbxColor GetLimbNodeColorDefaultValue | ( | ) | const |
Get the default value for the limb node color.
| bool IsSkeletonRoot | ( | ) | const |
To see if this skeleton is Root.
true if this is root of the skeleton,
false otherwise.const char* sSize
[static] |
Definition at line 133 of file fbxskeleton.h.
const char* sLimbLength
[static] |
Definition at line 134 of file fbxskeleton.h.
const FbxDouble
sDefaultSize
[static] |
Definition at line 140 of file fbxskeleton.h.
const FbxDouble
sDefaultLimbLength
[static] |
Definition at line 141 of file fbxskeleton.h.
This property handles the limb node size.
To access this property do: Size.Get(). To set this property do: Size.Set(FbxDouble).
Default value is 100.0
Definition at line 157 of file fbxskeleton.h.
This property handles the skeleton limb length.
To access this property do: LimbLength.Get(). To set this property do: LimbLength.Set(FbxDouble).
FbxSkeleton is a node attribute and it will be attached to a FbxNode which represents the transform. Given a chain of skeleton nodes the parent and child skeletons will be attached to a parent node and a child node. The orientation of the limb is computed from the vector between the parent and child position (from parent to child). The LimbLength represents the proportion of the parent node's position to the child node's position which is used to compute the actual limb length. The default value of 1.0 means the LimbLength is equal to the length between the parent and child node's position. So if the value is 0.5, it means the LimbLength will be half of the length between the parent and child node's position.
Definition at line 172 of file fbxskeleton.h.