This reference page is linked to from the following overview topics: Supported Scene Elements, FBX Node Attributes, List of Python FBX classes.
This class specializes a node attribute to represent the elements forming "bone" chains.
The KFbxSkeleton 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 KFbxSkeleton 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 64 of file kfbxskeleton.h.
#include <kfbxskeleton.h>
Public Member Functions |
|
virtual EAttributeType | GetAttributeType () const |
Return the type of node attribute (i.e:
EAttributeType::eSKELETON). |
|
void | Reset () |
Reset the skeleton to default values and
type to eROOT . |
|
Skeleton Properties |
|
enum | ESkeletonType { eROOT, eLIMB, eLIMB_NODE, eEFFECTOR } |
Skeleton types. More... |
|
void | SetSkeletonType (ESkeletonType pSkeletonType) |
Set the skeleton type. |
|
ESkeletonType | GetSkeletonType () const |
Get the skeleton type. |
|
bool | GetSkeletonTypeIsSet () const |
Get a flag to know if the skeleton type was
set. |
|
ESkeletonType | 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 KFbxColor &pColor) |
Set limb or limb node color. |
|
KFbxColor | GetLimbNodeColor () const |
Get limb or limb node color. |
|
bool | GetLimbNodeColorIsSet () const |
Get a flag to know if the limb node color
was set. |
|
KFbxColor | 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 fbxDouble1 | sDefaultSize |
static const fbxDouble1 | sDefaultLimbLength |
KFbxTypedProperty< fbxDouble1 > | Size |
This property handles the limb node size.
|
|
KFbxTypedProperty< fbxDouble1 > | LimbLength |
This property handles the skeleton limb
length. |
|
ESkeletonType | mSkeletonType |
bool | mLimbLengthIsSet |
bool | mLimbNodeSizeIsSet |
bool | mLimbNodeColorIsSet |
bool | mSkeletonTypeIsSet |
virtual KFbxObject & | Copy (const KFbxObject &pObject) |
Copy an object content into this object.
|
|
KFbxSkeleton (KFbxSdkManager &pManager, char const *pName) | |
virtual void | Construct (const KFbxSkeleton *pFrom) |
virtual bool | ConstructProperties (bool pForceSet) |
void | Reset (bool pResetProperties) |
virtual const char * | GetTypeName () const |
virtual KStringList | GetTypeFlags () const |
enum ESkeletonType |
Skeleton types.
eROOT |
First element of a chain. |
eLIMB |
Chain element. |
eLIMB_NODE |
Chain element. |
eEFFECTOR |
Last element of a chain. |
Definition at line 85 of file kfbxskeleton.h.
{ eROOT, eLIMB, eLIMB_NODE, eEFFECTOR } ESkeletonType;
KFbxSkeleton | ( | KFbxSdkManager & | pManager, |
char const * | pName | ||
) | [protected] |
virtual EAttributeType GetAttributeType | ( | ) | const [virtual] |
Return the type of node attribute (i.e: EAttributeType::eSKELETON).
Reimplemented from KFbxNodeAttribute.
void Reset | ( | ) |
Reset the skeleton to default values and type to
eROOT
.
void SetSkeletonType | ( | ESkeletonType | pSkeletonType | ) |
Set the skeleton type.
pSkeletonType | Skeleton type identifier. |
ESkeletonType 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.ESkeletonType GetSkeletonTypeDefaultValue | ( | ) | const |
double GetLimbLengthDefaultValue | ( | ) | const |
double GetLimbNodeSizeDefaultValue | ( | ) | const |
bool SetLimbNodeColor | ( | const KFbxColor & | pColor | ) |
Set limb or limb node color.
pColor | RGB values for the limb color. |
true
if skeleton type is eLIMB
or
eLIMB_NODE
, false
otherwise.eLIMB
or eLIMB_NODE
.KFbxColor GetLimbNodeColor | ( | ) | const |
Get limb or limb node color.
eLIMB
or eLIMB_NODE
.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.KFbxColor 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.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 KFbxSkeleton * | pFrom | ) | [protected, virtual] |
virtual bool ConstructProperties | ( | bool | pForceSet | ) | [protected, virtual] |
Reimplemented from KFbxNodeAttribute.
void Reset | ( | bool | pResetProperties | ) | [protected] |
virtual const char* GetTypeName | ( | ) | const [protected, virtual] |
Reimplemented from KFbxObject.
virtual KStringList GetTypeFlags | ( | ) | const [protected, virtual] |
Reimplemented from KFbxObject.
const char* sSize
[static] |
Definition at line 163 of file kfbxskeleton.h.
const char* sLimbLength
[static] |
Definition at line 164 of file kfbxskeleton.h.
const fbxDouble1
sDefaultSize
[static] |
Definition at line 170 of file kfbxskeleton.h.
const fbxDouble1
sDefaultLimbLength
[static] |
Definition at line 171 of file kfbxskeleton.h.
This property handles the limb node size.
To access this property do: Size.Get(). To set this property do: Size.Set(fbxDouble1).
Default value is 100.0
Definition at line 187 of file kfbxskeleton.h.
This property handles the skeleton limb length.
To access this property do: LimbLength.Get(). To set this property do: LimbLength.Set(fbxDouble1).
KFbxSkeleton is a node attribute and it will be attached to a KFbxNode 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 202 of file kfbxskeleton.h.
ESkeletonType
mSkeletonType
[protected] |
Definition at line 226 of file kfbxskeleton.h.
bool mLimbLengthIsSet
[protected] |
Definition at line 228 of file kfbxskeleton.h.
bool mLimbNodeSizeIsSet
[protected] |
Definition at line 229 of file kfbxskeleton.h.
bool mLimbNodeColorIsSet
[protected] |
Definition at line 230 of file kfbxskeleton.h.
bool mSkeletonTypeIsSet
[protected] |
Definition at line 231 of file kfbxskeleton.h.