This reference page is linked to from the following overview topics: FBX SDK 2012, FBX SDK 2011, Supported Scene Elements, Information and Technical Support, Your First FBX SDK Program, FBX SDK Object Model, Managing Memory with the FBX SDK Manager, FBX Properties, Connections, Nodes and the Scene Graph, FBX Scenes, FBX Nodes, Transformation Data, Computing Transformation Matrices, FBX Node Attributes, Lights, Cameras, Geometry, Meshes, Materials and Textures, Instancing - Sharing a Mesh, Materials, Textures, Layered Textures, Migrating to the new data structures for animation, Animation classes and their interrelationships, Evaluating the animation in a scene, Animating a Node, List of Python FBX classes.
Represents an element in the scene graph.
A scene graph is a tree of KFbxNodes objects. The tree management services are self contained in this class.
Besides the tree management, this class defines all the properties required to describe the position of the object in the scene. This information include the basic Translation, Rotation and Scaling properties and the more advanced options for pivots, limits, and IK joints attributes such the stiffness and dampening.
When it is first created, the KFbxNode object is "empty" (i.e: it is an object without any graphical representation that only contains the position information). In this state, it can be used to represent parents in the node tree structure but not much more. The normal use of this type of objects is to add them an attribute that will specialize the node (see the "Node Attribute Management" section).
The node attribute is an object in itself and is connected to the the KFbxNode. This also means that the same node attribute can be shared among multiple nodes. KFbxCamera, KFbxLight, KFbxMesh, etc... are all node attributes and they all derive from the base class KFbxNodeAttribute.
Common/GeometryUtility.cxx, Common/GeometryUtility.h, ExportDocument/main.cxx, ExportScene01/main.cxx, ExportScene02/main.cxx, ExportScene03/main.cxx, ExportScene04/main.cxx, ExportScene05/main.cxx, ImportScene/DisplayAnimation.cxx, ImportScene/DisplayCamera.cxx, ImportScene/DisplayGenericInfo.cxx, ImportScene/DisplayHierarchy.cxx, ImportScene/DisplayLight.cxx, ImportScene/DisplayLodGroup.cxx, ImportScene/DisplayMarker.cxx, ImportScene/DisplayMaterial.cxx, ImportScene/DisplayMesh.cxx, ImportScene/DisplayNurb.cxx, ImportScene/DisplayPatch.cxx, ImportScene/DisplayPivotsAndLimits.cxx, ImportScene/DisplaySkeleton.cxx, ImportScene/main.cxx, Instances/main.cxx, Layers/main.cxx, MyOwnWriterReader/MyOwnReader.cxx, MyOwnWriterReader/MyOwnWriter.cxx, MyOwnWriterReader/MyOwnWriter.h, Normals/main.cxx, Pivot/main.cxx, ProceduralTexture/main.cxx, StereoCamera/main.cxx, Transformations/main.cxx, UIExamples/CubeCreator/SDK_Utility.cxx, UIExamples/CubeCreator/SDK_Utility.h, UIExamples/CubeCreator/UI.cxx, UIExamples/SceneTreeView/SDK_Utility.cxx, UIExamples/SceneTreeView/SDK_Utility.h, UIExamples/SceneTreeView/UI.cxx, UserProperties/main.cxx, UVSample/main.cxx, ViewScene/DrawScene.cxx, ViewScene/GetPosition.cxx, ViewScene/GetPosition.h, ViewScene/InitScene.cxx, ViewScene/SetCamera.cxx, ViewScene/Texture.cxx, and ViewScene/Texture.h.
Definition at line 88 of file kfbxnode.h.
#include <kfbxnode.h>
Public Types |
|
enum | ECullingType { eCULLING_OFF, eCULLING_ON_CCW, eCULLING_ON_CW } |
Public Member Functions |
|
virtual K_DEPRECATED bool | GetAnimationInterval (KTime &pStart, KTime &pStop, KFbxAnimStack *pAnimStack=NULL, int pAnimLayerId=0) |
Find out start and end time of the animation
curves for this node (and its children). |
|
virtual bool | GetAnimationInterval (KTimeSpan &pSpan, KFbxAnimStack *pAnimStack=NULL, int pAnimLayerId=0) |
Find out start and end time of the animation
curves for this node (and its children). |
|
KFbxNodeLimits & | GetLimits () |
Get node limits. |
|
virtual bool | PropertyNotify (eFbxPropertyNotify pType, KFbxProperty *pProperty) |
Notify that a KFbxNode property
has changed. |
|
virtual KFbxObject & | Copy (const KFbxObject &pObject) |
Copy an object content into this object.
|
|
void | AddChildName (char *pChildName) |
Just add child name to the children name
list. |
|
char * | GetChildName (kUInt pIndex) const |
According the given index,get child name
from the children name list. |
|
kUInt | GetChildNameCount () const |
Get the count of child names in the children
name list. |
|
void | UpdatePivotsAndLimitsFromProperties () |
Update pivots and limits from properties.
|
|
void | UpdatePropertiesFromPivotsAndLimits () |
Update properties from pivots and limits.
|
|
void | SetRotationActiveProperty (bool pVal) |
Set rotation active property as given value.
|
|
void | PivotSetToMBTransform (EPivotSet pPivotSet) |
Set MBTransform according the given pivot
set. |
|
virtual const char * | GetTypeName () const |
Get type name from the default node
attribute. |
|
virtual KStringList | GetTypeFlags () const |
Get type flags from the default node
attribute. |
|
Node Tree Management
|
|
KFbxNode * | GetParent () |
Get the parent node. |
|
KFbxNode const * | GetParent () const |
bool | AddChild (KFbxNode *pNode) |
Add a child node and its underlying node
tree. |
|
KFbxNode * | RemoveChild (KFbxNode *pNode) |
Remove the child node. |
|
int | GetChildCount (bool pRecursive=false) const |
Get the number of children nodes. |
|
KFbxNode * | GetChild (int pIndex) |
Get child by index. |
|
KFbxNode const * | GetChild (int pIndex) const |
Get child by index. |
|
KFbxNode * | FindChild (char const *pName, bool pRecursive=true, bool pInitial=false) |
Finds a child node by name. |
|
Node Target Management
|
|
The KFbxNode class allows the client to set a "follow" target node. This target forces the node to re-align itself so it points to the target. By default, the node uses its X axis as the aiming constraint. A rotation offset can be added to change this behavior. While the default relative orientation to the target (the X axis) is sufficient for the FBX cameras (with a (0,0,0) rotation vector, they are aiming along the X axis), this rotation offset becomes particularly useful with the lights objects because their default orientation (when they have a 0,0,0 rotation vector) is to point along the -Y axis and they need to be adjusted with a 90-degree offset on the Z axis. The KFbxNode class also permits the use of node to define an Up-vector. By default, the node's up vector points towards the Up node. If the Up node is not specified, then the node's Up vector points towards the Y axis. Here too, a rotation offset can be added to change the default behavior. Of course, these offsets can be applied to anything, not only the cameras and lights.
|
|
void | SetTarget (KFbxNode *pNode) |
The target must be part of the same scene
and it cannot be itself. |
|
KFbxNode * | GetTarget () const |
Get the target for this node. |
|
void | SetPostTargetRotation (KFbxVector4 pVector) |
Set rotation offset from default relative
orientation to target. |
|
KFbxVector4 | GetPostTargetRotation () const |
Get rotation offset from default relative
orientation to target. |
|
void | SetTargetUp (KFbxNode *pNode) |
The target up node must be part of the same
scene and it cannot be itself. |
|
KFbxNode * | GetTargetUp () const |
Get the target up node. |
|
void | SetTargetUpVector (KFbxVector4 pVector) |
Set up vector offset from default relative
target up vector. |
|
KFbxVector4 | GetTargetUpVector () const |
Get up vector offset from default relative
target up vector. |
|
UpdateId Management
|
|
virtual kFbxUpdateId | GetUpdateId (eFbxUpdateIdType pUpdateId=eUpdateId_Object) const |
Returns the update ID of this object.
|
|
Node Attribute Management
|
|
KFbxNodeAttribute * | SetNodeAttribute (KFbxNodeAttribute *pNodeAttribute) |
Set the node attribute. |
|
KFbxNodeAttribute * | GetNodeAttribute () |
Get the default node attribute. |
|
KFbxNodeAttribute const * | GetNodeAttribute () const |
Get the default node attribute. |
|
int | GetNodeAttributeCount () const |
Get the number of node attribute(s)
connected to this node. |
|
int | GetDefaultNodeAttributeIndex () const |
Get the index, in the list of connected node
attributes, of the node attribute that is set to be the default
one. |
|
bool | SetDefaultNodeAttributeIndex (int pIndex) |
Set index of the default node attribute.
|
|
KFbxNodeAttribute * | GetNodeAttributeByIndex (int pIndex) |
Get the connected node attribute by
specifying its index in the connection list. |
|
KFbxNodeAttribute const * | GetNodeAttributeByIndex (int pIndex) const |
Get the connected node attribute by
specifying its index in the connection list. |
|
int | GetNodeAttributeIndex (KFbxNodeAttribute *pNodeAttribute) const |
Get the connection index of the specified
node attribute. |
|
bool | AddNodeAttribute (KFbxNodeAttribute *pNodeAttribute) |
Add the new node attribute to this node.
|
|
KFbxNodeAttribute * | RemoveNodeAttribute (KFbxNodeAttribute *pNodeAttribute) |
Remove the node attribute from the
connection list of this node. |
|
KFbxNodeAttribute * | RemoveNodeAttributeByIndex (int pIndex) |
Remove the node attribute, specified by the
connection index, from the connection list of this node. |
|
KFbxCachedEffect * | GetCachedEffect () |
Get the default node attribute casted to a
KFbxCachedEffect pointer.
|
|
KFbxLodGroup * | GetLodGroup () |
Get the default node attribute casted to a
KFbxLodGroup pointer.
|
|
KFbxNull * | GetNull () |
Get the default node attribute casted to a
KFbxNull
pointer. |
|
KFbxMarker * | GetMarker () |
Get the node attribute casted to a KFbxMarker
pointer. |
|
KFbxSkeleton * | GetSkeleton () |
Get the node attribute casted to a
KFbxSkeleton pointer. |
|
KFbxGeometry * | GetGeometry () |
Get the node attribute casted to a
KFbxGeometry pointer. |
|
KFbxMesh * | GetMesh () |
Get the node attribute casted to a KFbxMesh pointer.
|
|
KFbxNurb * | GetNurb () |
Get the node attribute casted to a KFbxNurb
pointer. |
|
KFbxNurbsSurface * | GetNurbsSurface () |
Get the node attribute casted to a KFbxNurbsSurface
pointer. |
|
KFbxNurbsCurve * | GetNurbsCurve () |
Get the node attribute casted to a
KFbxNurbsCurve pointer. |
|
KFbxLine * | GetLine () |
Get the node attribute casted to a KFbxLine pointer.
|
|
KFbxTrimNurbsSurface * | GetTrimNurbsSurface () |
Get the node attribute casted to a
KFbxTrimNurbsSurface pointer. |
|
KFbxSubdiv * | GetSubdiv () |
Get the node attribute casted to a KFbxSubdiv pointer.
|
|
KFbxPatch * | GetPatch () |
Get the node attribute casted to a KFbxPatch
pointer. |
|
KFbxCamera * | GetCamera () |
Get the node attribute casted to a
KFbxCamera pointer. |
|
const KFbxCamera * | GetCamera () const |
KFbxCameraStereo * | GetCameraStereo () |
Get the node attribute casted to a
KFbxCameraStereo pointer. |
|
KFbxCameraSwitcher * | GetCameraSwitcher () |
Get the node attribute casted to a
KFbxCameraSwitcher pointer. |
|
KFbxLight * | GetLight () |
Get the node attribute casted to a
KFbxLight pointer. |
|
const KFbxLight * | GetLight () const |
KFbxOpticalReference * | GetOpticalReference () |
Get the node attribute casted to a
KFbxOpticalReference pointer. |
|
Transformation propagation
|
|
This set of functions provides direct access to the transformation propagations settings of the KFbxNode. These settings determine how transformations must be applied when evaluating a node's transformation matrix. The possible values are:
|
|
void | SetTransformationInheritType (ETransformInheritType pInheritType) |
Sets how child transforms are inherited from
parent transforms. |
|
void | GetTransformationInheritType (ETransformInheritType &pInheritType) const |
Get transformation inherit type. |
|
Node Transform Evaluation
|
|
KFbxXMatrix & | EvaluateGlobalTransform (KTime pTime=KTIME_INFINITE, KFbxNode::EPivotSet pPivotSet=KFbxNode::eSOURCE_SET, bool pApplyTarget=false, bool pForceEval=false) |
Returns this node's global transformation
matrix at the specified time. |
|
KFbxXMatrix & | EvaluateLocalTransform (KTime pTime=KTIME_INFINITE, KFbxNode::EPivotSet pPivotSet=KFbxNode::eSOURCE_SET, bool pApplyTarget=false, bool pForceEval=false) |
Returns this node's local transformation
matrix at the specified time. |
|
KFbxVector4 & | EvaluateLocalTranslation (KTime pTime=KTIME_INFINITE, KFbxNode::EPivotSet pPivotSet=KFbxNode::eSOURCE_SET, bool pApplyTarget=false, bool pForceEval=false) |
Returns this node's LclTranslation property
at the specified time. |
|
KFbxVector4 & | EvaluateLocalRotation (KTime pTime=KTIME_INFINITE, KFbxNode::EPivotSet pPivotSet=KFbxNode::eSOURCE_SET, bool pApplyTarget=false, bool pForceEval=false) |
Returns this node's LclRotation property at
the specified time. |
|
KFbxVector4 & | EvaluateLocalScaling (KTime pTime=KTIME_INFINITE, KFbxNode::EPivotSet pPivotSet=KFbxNode::eSOURCE_SET, bool pApplyTarget=false, bool pForceEval=false) |
Returns this node's LclScaling property at
the specified time. |
|
Character Link
|
|
int | GetCharacterLinkCount () const |
Get number of character links. |
|
bool | GetCharacterLink (int pIndex, KFbxCharacter **pCharacter, int *pCharacterLinkType, int *pNodeId, int *pNodeSubId) |
Get character link at given index. |
|
int | FindCharacterLink (KFbxCharacter *pCharacter, int pCharacterLinkType, int pNodeId, int pNodeSubId) const |
Looks if the given character link exists on
this node. |
|
Material Management
|
|
int | AddMaterial (KFbxSurfaceMaterial *pMaterial) |
Add a material to this node. |
|
bool | RemoveMaterial (KFbxSurfaceMaterial *pMaterial) |
Remove a material from this node. |
|
int | GetMaterialCount () const |
KFbxSurfaceMaterial * | GetMaterial (int pIndex) const |
Access a material on this node. |
|
void | RemoveAllMaterials () |
Remove all materials applied to this node.
|
|
int | GetMaterialIndex (char const *pName) const |
Find an applied material with the given
name. |
|
Public Attributes |
|
ECullingType | mCullingType |
bool | mCorrectInheritType |
Public and fast access Properties
|
|
KFbxTypedProperty< fbxDouble3 > | LclTranslation |
This property contains the translation
information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | LclRotation |
This property contains the rotation
information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | LclScaling |
This property contains the scaling
information of the node. |
|
KFbxTypedProperty< fbxDouble1 > | Visibility |
This property contains the visibility
information of the node. |
|
KFbxTypedProperty< fbxBool1 > | VisibilityInheritance |
This property contains the visibility
inheritance flag that allow applications to modify the Visibility
property interpretation. |
|
KFbxTypedProperty < EQuaternionInterpolation > |
QuaternionInterpolate |
This property contains the quaternion
interpolate flag of the node. |
|
KFbxTypedProperty< fbxDouble3 > | RotationOffset |
This property contains the rotation offset
information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | RotationPivot |
This property contains the rotation pivot
information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | ScalingOffset |
This property contains the scaling offset
information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | ScalingPivot |
This property contains the scaling pivot
information of the node. |
|
KFbxTypedProperty< fbxBool1 > | TranslationActive |
This property contains the translation
active information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | Translation |
This property contains the translation
information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | TranslationMin |
This property contains the min translation
limit information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | TranslationMax |
This property contains the max translation
limit information of the node. |
|
KFbxTypedProperty< fbxBool1 > | TranslationMinX |
This property contains the flag which
actives the x component of min translation limit of the node.
|
|
KFbxTypedProperty< fbxBool1 > | TranslationMinY |
This property contains the flag which
actives the y component of min translation limit of the node.
|
|
KFbxTypedProperty< fbxBool1 > | TranslationMinZ |
This property contains the flag which
actives the z component of min translation limit of the node.
|
|
KFbxTypedProperty< fbxBool1 > | TranslationMaxX |
This property contains the flag which
actives the x component of max translation limit of the node.
|
|
KFbxTypedProperty< fbxBool1 > | TranslationMaxY |
This property contains the flag which
actives the y component of max translation limit of the node.
|
|
KFbxTypedProperty< fbxBool1 > | TranslationMaxZ |
This property contains the flag which
actives the z component of max translation limit of the node.
|
|
KFbxTypedProperty< ERotationOrder > | RotationOrder |
This property contains the rotation order
information of the node. |
|
KFbxTypedProperty< fbxBool1 > | RotationSpaceForLimitOnly |
This property contains the rotation space
for limit only flag of the node. |
|
KFbxTypedProperty< fbxDouble1 > | RotationStiffnessX |
This property contains the x value of the
rotation stiffness of the node. |
|
KFbxTypedProperty< fbxDouble1 > | RotationStiffnessY |
This property contains the y value of the
rotation stiffness of the node. |
|
KFbxTypedProperty< fbxDouble1 > | RotationStiffnessZ |
This property contains the z value of the
rotation stiffness of the node. |
|
KFbxTypedProperty< fbxDouble1 > | AxisLen |
This property contains axis length
information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | PreRotation |
This property contains pre-rotation
information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | PostRotation |
This property contains post-rotation
information of the node. |
|
KFbxTypedProperty< fbxBool1 > | RotationActive |
This property contains rotation active
information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | RotationMin |
This property contains the min rotation
limit information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | RotationMax |
This property contains the max rotation
limit information of the node. |
|
KFbxTypedProperty< fbxBool1 > | RotationMinX |
This property contains the flag which
actives the x component of min rotation limit of the node. |
|
KFbxTypedProperty< fbxBool1 > | RotationMinY |
This property contains the flag which
actives the y component of min rotation limit of the node. |
|
KFbxTypedProperty< fbxBool1 > | RotationMinZ |
This property contains the flag which
actives the z component of min rotation limit of the node. |
|
KFbxTypedProperty< fbxBool1 > | RotationMaxX |
This property contains the flag which
actives the x component of max rotation limit of the node. |
|
KFbxTypedProperty< fbxBool1 > | RotationMaxY |
This property contains the flag which
actives the y component of max rotation limit of the node. |
|
KFbxTypedProperty< fbxBool1 > | RotationMaxZ |
This property contains the flag which
actives the z component of max rotation limit of the node. |
|
KFbxTypedProperty < ETransformInheritType > |
InheritType |
This property contains inherit type
information of the node. |
|
KFbxTypedProperty< fbxBool1 > | ScalingActive |
This property contains scaling active
information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | Scaling |
This property contains scaling information
of the node. |
|
KFbxTypedProperty< fbxDouble3 > | ScalingMin |
This property contains the min scaling limit
information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | ScalingMax |
This property contains the max scaling limit
information of the node. |
|
KFbxTypedProperty< fbxBool1 > | ScalingMinX |
This property contains the flag which
actives the x component of min scaling limit of the node. |
|
KFbxTypedProperty< fbxBool1 > | ScalingMinY |
This property contains the flag which
actives the y component of min scaling limit of the node. |
|
KFbxTypedProperty< fbxBool1 > | ScalingMinZ |
This property contains the flag which
actives the z component of min scaling limit of the node. |
|
KFbxTypedProperty< fbxBool1 > | ScalingMaxX |
This property contains the flag which
actives the x component of max scaling limit of the node. |
|
KFbxTypedProperty< fbxBool1 > | ScalingMaxY |
This property contains the flag which
actives the y component of max scaling limit of the node. |
|
KFbxTypedProperty< fbxBool1 > | ScalingMaxZ |
This property contains the flag which
actives the z component of max scaling limit of the node. |
|
KFbxTypedProperty< fbxDouble3 > | GeometricTranslation |
This property contains geometric translation
information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | GeometricRotation |
This property contains geometric rotation
information of the node. |
|
KFbxTypedProperty< fbxDouble3 > | GeometricScaling |
This property contains geometric scaling
information of the node. |
|
KFbxTypedProperty< fbxDouble1 > | MinDampRangeX |
This property contains the x component of
the minimum damp range angles of the node. |
|
KFbxTypedProperty< fbxDouble1 > | MinDampRangeY |
This property contains the y component of
the minimum damp range angles of the node. |
|
KFbxTypedProperty< fbxDouble1 > | MinDampRangeZ |
This property contains the z component of
the minimum damp range angles of the node. |
|
KFbxTypedProperty< fbxDouble1 > | MaxDampRangeX |
This property contains the x component of
the maximum damp range angles of the node. |
|
KFbxTypedProperty< fbxDouble1 > | MaxDampRangeY |
This property contains the y component of
the maximum damp range angles of the node. |
|
KFbxTypedProperty< fbxDouble1 > | MaxDampRangeZ |
This property contains the z component of
the maximum damp range angles of the node. |
|
KFbxTypedProperty< fbxDouble1 > | MinDampStrengthX |
This property contains the x component of
the minimum damp strength of the node. |
|
KFbxTypedProperty< fbxDouble1 > | MinDampStrengthY |
This property contains the y component of
the minimum damp strength of the node. |
|
KFbxTypedProperty< fbxDouble1 > | MinDampStrengthZ |
This property contains the z component of
the minimum damp strength of the node. |
|
KFbxTypedProperty< fbxDouble1 > | MaxDampStrengthX |
This property contains the x component of
the maximum damp strength of the node. |
|
KFbxTypedProperty< fbxDouble1 > | MaxDampStrengthY |
This property contains the y component of
the maximum damp strength of the node. |
|
KFbxTypedProperty< fbxDouble1 > | MaxDampStrengthZ |
This property contains the z component of
the maximum damp strength of the node. |
|
KFbxTypedProperty< fbxDouble1 > | PreferedAngleX |
This property contains the x component of
the preferred angle of the node. |
|
KFbxTypedProperty< fbxDouble1 > | PreferedAngleY |
This property contains the y component of
the preferred angle of the node. |
|
KFbxTypedProperty< fbxDouble1 > | PreferedAngleZ |
This property contains the z component of
the preferred angle of the node. |
|
KFbxTypedProperty< fbxReference * > | LookAtProperty |
This property contains lookat property of
the node. |
|
KFbxTypedProperty< fbxReference * > | UpVectorProperty |
This property contains the up vector
property of the node. |
|
KFbxTypedProperty< fbxBool1 > | Show |
This property contains the show information
of the node. |
|
KFbxTypedProperty< fbxBool1 > | NegativePercentShapeSupport |
This property contains negative percent
shape support information of the node. |
|
KFbxTypedProperty< fbxInteger1 > | DefaultAttributeIndex |
This property contains default attribute
index information of the node. |
|
KFbxTypedProperty< fbxBool1 > | Freeze |
This property contains manipulation state
information of the node. |
|
KFbxTypedProperty< fbxBool1 > | LODBox |
This property contains level of detail mode
information of the node. |
|
Protected Member Functions |
|
KFbxNode (KFbxSdkManager &pManager, char const *pName) | |
virtual void | Construct (const KFbxNode *pFrom) |
virtual bool | ConstructProperties (bool pForceSet) |
virtual void | Destruct (bool pRecursive, bool pDependents) |
void | Reset () |
K_DEPRECATED bool | GetAnimationIntervalRecursive (KTime &pStart, KTime &pStop, KFbxAnimLayer *pAnimLayer) |
bool | GetAnimationIntervalRecursive (KTimeSpan &pTimeInterval, KFbxAnimLayer *pAnimLayer) |
KMBTransform * | GetMBTransform () |
int | AddCharacterLink (KFbxCharacter *pCharacter, int pCharacterLinkType, int pNodeId, int pNodeSubId) |
int | RemoveCharacterLink (KFbxCharacter *pCharacter, int pCharacterLinkType, int pNodeId, int pNodeSubId) |
Protected Attributes |
|
KFbxNode_internal * | mPH |
KError | mError |
Friends |
|
class | KFbxScene |
class | KFbxGeometry |
class | KFbxLight |
class | KFbxNodeFinderDuplicateName |
class | KFbxCharacter |
class | KFbxControlSet |
class | KFbxNode_internal |
class | KFbxSurfaceMaterial_internal |
class | KFbxTexture_internal |
class | KFbxVideo_internal |
class | KFbxNodeLimits |
class | KFbxLimits |
class | KFbxNodeEvalState |
Node Display Parameters |
|
enum | EShadingMode
{ eHARD_SHADING, eWIRE_FRAME, eFLAT_SHADING, eLIGHT_SHADING, eTEXTURE_SHADING, eLIGHT_TEXTURE_SHADING } |
Shading modes. More... |
|
K_DEPRECATED void | SetDefaultVisibility (double pVisibility) |
This is a DEPRECATED utility method that can
be used to set the value of the Visibility property. |
|
void | SetVisibility (bool pIsVisible) |
Set the node Visibility value from the
boolean parameter. |
|
K_DEPRECATED double | GetDefaultVisibility () const |
This is a DEPRECATED utility method that can
be used to get the value of the Visibility property. |
|
bool | GetVisibility () const |
Get the current value of the Visibility
property. |
|
void | SetShadingMode (EShadingMode pShadingMode) |
Set the shading mode. |
|
EShadingMode | GetShadingMode () const |
Get the shading mode. |
|
Pivot Management |
|
Pivots are used to
specify translation, rotation and scaling centers in coordinates
relative to a node's origin.A node has two pivot contexts defined
by the EPivotSet enumeration. The node's animation data can be
converted from one pivot context to the other. Each context can be
set to be either active or passive (reference). By default the two
pivot contexts are passive. They need to be active to be processed
during the evaluation of the node final transformation matrix. In
its passive state, a pivot context can still be accessed to
retrieve its content for any other required purpose. Each pivot
context stores values (as KFbxVector4) for:
- Rotation offset (Roff) - Rotation pivot (Rp) - Pre-rotation (Rpre) - Post-rotation (Rpost) - Scaling offset (Soff) - Scaling pivot (Sp) - Geometric translation (Gt) - Geometric rotation (Gr) - Geometric scaling (Gs) These values combine in the matrix form to compute the World transform of the node using the formula: World = ParentWorld * T * Roff * Rp * Rpre * R * Rpost * Rp-1 * Soff * Sp * S * Sp-1
The application of the pivots is performed by calling the method ConvertPivotAnimation(). Typically, you set-up the eDESTINATION_SET context to match what your system can directly support and leave at (0,0,0) the attributes that are not supported by your system. When the values of a specific attribute in the two contexts (source and destination) are identical, the system considers that no adjustment is required because the attribute is directly supported in the destination world.Below is an example of code that shows how the pivot information could be setup before calling ConvertPivotAnimation(). KFbxVector4 lZero(0,0,0); pNode->SetPivotState(KFbxNode::eSOURCE_SET, KFbxNode::ePIVOT_STATE_ACTIVE); pNode->SetPivotState(KFbxNode::eDESTINATION_SET, KFbxNode::ePIVOT_STATE_ACTIVE); ERotationOrder lRotationOrder; pNode->GetRotationOrder(KFbxNode::eSOURCE_SET , lRotationOrder); pNode->SetRotationOrder(KFbxNode::eDESTINATION_SET , lRotationOrder); // For cameras and lights (without targets) let's compensate the postrotation. if (pNode->GetCamera() || pNode->GetLight()) { if (!pNode->GetTarget()) { KFbxVector4 lRV(90, 0, 0); if (pNode->GetCamera()) lRV.Set(0, 90, 0); KFbxVector4 prV = pNode->GetPostRotation(KFbxNode::eSOURCE_SET); KgeRMatrix lSourceR; KgeRMatrix lR(lRV.mData[0], lRV.mData[1], lRV.mData[2]); KgeVector res(prV.mData[0], prV.mData[1], prV.mData[2]); // Rotation order don't affect post rotation, so just use the default XYZ order KMBRotationOrder rOrder; rOrder.V2M(lSourceR, *((KgeRVector*)res.mData)); KgeMult(lR, lSourceR, lR); rOrder.M2V(*((KgeRVector*)res.mData), lR); prV.mData[0] = res.mData[0]; prV.mData[1] = res.mData[1]; prV.mData[2] = res.mData[2]; pNode->SetPostRotation(KFbxNode::eSOURCE_SET, prV); pNode->GetLimits().SetRotationLimitActive(true); } // Point light do not need to be adjusted (since they radiate in all the directions). if (pNode->GetLight() && pNode->GetLight()->LightType.Get() == KFbxLight::ePOINT) { pNode->SetPostRotation(KFbxNode::eSOURCE_SET, KFbxVector4(0,0,0,0)); } // apply Pre rotations only on bones / end of chains if(pNode->GetNodeAttribute() && pNode->GetNodeAttribute()->GetAttributeType() == KFbxNodeAttribute::eSKELETON || (pNode->GetMarker() && pNode->GetMarker()->GetType() == KFbxMarker::eFK_EFFECTOR) || (pNode->GetMarker() && pNode->GetMarker()->GetType() == KFbxMarker::eIK_EFFECTOR)) { if(pNode->GetLimits().GetRotationLimitActive()) { pNode->SetPreRotation(KFbxNode::eDESTINATION_SET, pNode->GetPreRotation(KFbxNode::eSOURCE_SET)); } // No pivots on bones pNode->SetRotationPivot(KFbxNode::eDESTINATION_SET, lZero); pNode->SetScalingPivot(KFbxNode::eDESTINATION_SET, lZero); pNode->SetRotationOffset(KFbxNode::eDESTINATION_SET,lZero); pNode->SetScalingOffset(KFbxNode::eDESTINATION_SET, lZero); } else { // any other type: no pre-rotation support but... pNode->SetPreRotation(KFbxNode::eDESTINATION_SET, lZero); // support for rotation and scaling pivots. pNode->SetRotationPivot(KFbxNode::eDESTINATION_SET, pNode->GetRotationPivot(KFbxNode::eSOURCE_SET)); pNode->SetScalingPivot(KFbxNode::eDESTINATION_SET, pNode->GetScalingPivot(KFbxNode::eSOURCE_SET)); // Rotation and scaling offset are supported pNode->SetRotationOffset(KFbxNode::eDESTINATION_SET, pNode->GetRotationOffset(KFbxNode::eSOURCE_SET)); pNode->SetScalingOffset(KFbxNode::eDESTINATION_SET, pNode->GetScalingOffset(KFbxNode::eSOURCE_SET)); // // If we don't "support" scaling pivots, we can simply do: // pNode->SetRotationPivot(KFbxNode::eDESTINATION_SET, lZero); // pNode->SetScalingPivot(KFbxNode::eDESTINATION_SET, lZero); } |
|
enum | EPivotSet { eSOURCE_SET, eDESTINATION_SET } |
Pivot context identifier. More... |
|
enum | EPivotState { ePIVOT_STATE_ACTIVE, ePIVOT_STATE_REFERENCE } |
Pivot context state. More... |
|
void | SetPivotState (EPivotSet pPivotSet, EPivotState pPivotState) |
Change the state of the pivot context.
|
|
void | GetPivotState (EPivotSet pPivotSet, EPivotState &pPivotState) const |
Get the pivot context state. |
|
void | SetRotationOrder (EPivotSet pPivotSet, ERotationOrder pRotationOrder) |
Set rotation space Determine the rotation
space (Euler or Spheric) and the rotation order. |
|
void | GetRotationOrder (EPivotSet pPivotSet, ERotationOrder &pRotationOrder) const |
Get rotation order. |
|
void | SetUseRotationSpaceForLimitOnly (EPivotSet pPivotSet, bool pUseForLimitOnly) |
Set rotation space for limit only. |
|
bool | GetUseRotationSpaceForLimitOnly (EPivotSet pPivotSet) const |
Get rotation space for limit only. |
|
void | SetRotationActive (bool pVal) |
Set the RotationActive state. |
|
bool | GetRotationActive () const |
Get the RotationActive state. |
|
void | SetQuaternionInterpolation (EPivotSet pPivotSet, EQuaternionInterpolation pQuatIterp) |
Specify which Quaternion interpolation mode
is used on the pivot context. |
|
EQuaternionInterpolation | GetQuaternionInterpolation (EPivotSet pPivotSet) const |
Get the Quaternion interpolation mode of the
pivot context. |
|
K_DEPRECATED void | SetUseQuaternionForInterpolation (EPivotSet pPivotSet, bool pUseQuaternion) |
Set the Quaternion interpolation mode on the
pivot context. |
|
K_DEPRECATED bool | GetUseQuaternionForInterpolation (EPivotSet pPivotSet) const |
Get the Quaternion interpolation state on
the pivot context. |
|
void | SetRotationStiffness (KFbxVector4 pRotationStiffness) |
Set the rotation stiffness. |
|
KFbxVector4 | GetRotationStiffness () const |
Get the rotation stiffness. |
|
void | SetMinDampRange (KFbxVector4 pMinDampRange) |
Set the minimum damp range angles. |
|
KFbxVector4 | GetMinDampRange () const |
Get the minimum damp range angles. |
|
void | SetMaxDampRange (KFbxVector4 pMaxDampRange) |
Set the maximum damp range angles. |
|
KFbxVector4 | GetMaxDampRange () const |
Get the maximum damp range angles. |
|
void | SetMinDampStrength (KFbxVector4 pMinDampStrength) |
Set the minimum damp strength. |
|
KFbxVector4 | GetMinDampStrength () const |
Get the minimum damp strength. |
|
void | SetMaxDampStrength (KFbxVector4 pMaxDampStrength) |
Set the maximum damp strength. |
|
KFbxVector4 | GetMaxDampStrength () const |
Get the maximum damp strength. |
|
void | SetPreferedAngle (KFbxVector4 pPreferedAngle) |
Set the preferred angle. |
|
KFbxVector4 | GetPreferedAngle () const |
Get the preferred angle. |
|
void | SetRotationOffset (EPivotSet pPivotSet, KFbxVector4 pVector) |
Set a translation offset for the rotation
pivot. |
|
const KFbxVector4 & | GetRotationOffset (EPivotSet pPivotSet) const |
Get the translation offset for the rotation
pivot. |
|
void | SetRotationPivot (EPivotSet pPivotSet, KFbxVector4 pVector) |
Set rotation pivot. |
|
const KFbxVector4 & | GetRotationPivot (EPivotSet pPivotSet) const |
Get rotation pivot. |
|
void | SetPreRotation (EPivotSet pPivotSet, KFbxVector4 pVector) |
Set pre-rotation in Euler angles. |
|
const KFbxVector4 & | GetPreRotation (EPivotSet pPivotSet) const |
Get pre-rotation in Euler angles. |
|
void | SetPostRotation (EPivotSet pPivotSet, KFbxVector4 pVector) |
Set post-rotation in Euler angles. |
|
const KFbxVector4 & | GetPostRotation (EPivotSet pPivotSet) const |
Get post-rotation in Euler angles. |
|
void | SetScalingOffset (EPivotSet pPivotSet, KFbxVector4 pVector) |
Set a translation offset for the scaling
pivot. |
|
const KFbxVector4 & | GetScalingOffset (EPivotSet pPivotSet) const |
Get the translation offset for the scaling
pivot. |
|
void | SetScalingPivot (EPivotSet pPivotSet, KFbxVector4 pVector) |
Set scaling pivot. |
|
const KFbxVector4 & | GetScalingPivot (EPivotSet pPivotSet) const |
Get scaling pivot. |
|
void | SetGeometricTranslation (EPivotSet pPivotSet, KFbxVector4 pVector) |
Set geometric translation The geometric
translation is a local translation that is applied to a node
attribute only. |
|
KFbxVector4 | GetGeometricTranslation (EPivotSet pPivotSet) const |
Get geometric translation. |
|
void | SetGeometricRotation (EPivotSet pPivotSet, KFbxVector4 pVector) |
Set geometric rotation The geometric
rotation is a local rotation that is applied to a node attribute
only. |
|
KFbxVector4 | GetGeometricRotation (EPivotSet pPivotSet) const |
Get geometric rotation. |
|
void | SetGeometricScaling (EPivotSet pPivotSet, KFbxVector4 pVector) |
Set geometric scaling The geometric scaling
is a local scaling that is applied to a node attribute only.
|
|
KFbxVector4 | GetGeometricScaling (EPivotSet pPivotSet) const |
Get geometric scaling. |
|
void | ResetPivotSet (KFbxNode::EPivotSet pPivotSet) |
Reset a pivot set to the default pivot
context. |
|
void | ConvertPivotAnimation (EPivotSet pConversionTarget, double pFrameRate, bool pKeyReduce=true) |
Recursively convert the animation data
according to pivot settings. |
|
void | ConvertPivotAnimationRecursive (const char *pAnimStackName, EPivotSet pConversionTarget, double pFrameRate, bool pKeyReduce=true) |
This version is an improved version of the
ConvertPivotAnimation(). |
|
void | ResetPivotSetAndConvertAnimation (double pFrameRate=30., bool pKeyReduce=false, bool pToNodeCenter=true, bool pForceResetLimits=false) |
Reset all the pivot sets to the default
pivot context and convert the animation. |
|
void | SetRotationPivotAsCenterRecursive (KFbxVector4 pParentGeometricOffset=KFbxVector4()) |
Set rotation pivot as node center
recursively. |
|
Error Management |
|
The same error object
is shared among instances of this class. |
|
enum | EError { eINDEX_OUT_OF_RANGE, eATTRIBUTE_NOT_CONNECTED, eERROR_COUNT } |
Error identifiers. More... |
|
KError & | GetError () |
Retrieve error object. |
|
EError | GetLastErrorID () const |
Get last error code. |
|
const char * | GetLastErrorString () const |
Get last error string. |
|
|
|
enum | EMultiTakeMode { eOLD_MULTI_TAKE, eMULTI_TAKE, eMONO_TAKE } |
void | SetMultiLayer (bool pMultiLayer) |
This flag is still available for backward
compatibility with older version of FBX files and should not be
used anymore. |
|
bool | GetMultiLayer () const |
Get multilayer state. |
|
void | SetMultiTakeMode (EMultiTakeMode pMultiTakeMode) |
Set the multitake mode. |
|
EMultiTakeMode | GetMultiTakeMode () const |
Get multitake mode. |
enum EShadingMode |
Shading modes.
These shading modes are not directly used by the FBX SDK but it is guaranteed that the information is carried to and from the FBX files. The typical context of using these modes is to affect the rendering of geometric objects (this is, of course, performed at the application level) and the possible definition for each mode is:
Definition at line 287 of file kfbxnode.h.
enum EPivotSet |
Pivot context identifier.
Definition at line 719 of file kfbxnode.h.
enum EPivotState |
Pivot context state.
Definition at line 727 of file kfbxnode.h.
enum EError |
Error identifiers.
eINDEX_OUT_OF_RANGE |
The index argument is outside the allowed values. |
eATTRIBUTE_NOT_CONNECTED |
The requested node attribute is invalid or not connected to this node. |
eERROR_COUNT |
Definition at line 1332 of file kfbxnode.h.
enum EMultiTakeMode |
Definition at line 2078 of file kfbxnode.h.
enum ECullingType |
Definition at line 2190 of file kfbxnode.h.
KFbxNode | ( | KFbxSdkManager & | pManager, |
char const * | pName | ||
) | [protected] |
KFbxNode* GetParent | ( | ) |
Get the parent node.
NULL
if the current node
has no parent.KFbxNode const* GetParent | ( | ) | const |
bool AddChild | ( | KFbxNode * | pNode | ) |
Add a child node and its underlying node tree.
pNode | Node we want to make child of this . |
true
on success, false
if
pNode is NULL
or the system is unable to make
the connection.Remove the child node.
pNode | The child node to be removed. |
int GetChildCount | ( | bool | pRecursive = false |
) | const |
Get the number of children nodes.
pRecursive | If true the method will also count all the
descendant children. |
KFbxNode* GetChild | ( | int | pIndex | ) |
Get child by index.
pIndex | The child index. |
NULL
if pIndex is out of
range (i.e: < 0 or > GetChildCount()).KFbxNode const* GetChild | ( | int | pIndex | ) | const |
Get child by index.
pIndex | The child index. |
NULL
if pIndex is out of
range (i.e: < 0 or > GetChildCount()).KFbxNode* FindChild | ( | char const * | pName, |
bool | pRecursive = true , |
||
bool | pInitial =
false |
||
) |
Finds a child node by name.
pName | Name of the searched child node. |
pRecursive | Flag to request recursive calls. |
pInitial | If set to true , the search compares the initial
name of the node (see the KFbxObject class) |
NULL
if no child node with
this name exists.void SetTarget | ( | KFbxNode * | pNode | ) |
The target must be part of the same scene and it cannot be itself.
pNode | The target. |
KFbxNode* GetTarget | ( | ) | const |
Get the target for this node.
NULL
if target isn't set.void SetPostTargetRotation | ( | KFbxVector4 | pVector | ) |
Set rotation offset from default relative orientation to target.
pVector | The rotation offset. |
KFbxVector4 GetPostTargetRotation | ( | ) | const |
Get rotation offset from default relative orientation to target.
void SetTargetUp | ( | KFbxNode * | pNode | ) |
The target up node must be part of the same scene and it cannot be itself.
pNode | The target. |
KFbxNode* GetTargetUp | ( | ) | const |
Get the target up node.
NULL
if the target up model isn't set.void SetTargetUpVector | ( | KFbxVector4 | pVector | ) |
Set up vector offset from default relative target up vector.
pVector | The rotation offset. |
KFbxVector4 GetTargetUpVector | ( | ) | const |
Get up vector offset from default relative target up vector.
virtual kFbxUpdateId GetUpdateId | ( | eFbxUpdateIdType | pUpdateId =
eUpdateId_Object |
) | const [virtual] |
Returns the update ID of this object.
pUpdateId | The update ID type. |
Reimplemented from KFbxObject.
K_DEPRECATED void SetDefaultVisibility | ( | double | pVisibility | ) |
This is a DEPRECATED utility method that can be used to set the value of the Visibility property.
Checks for the validity of the property before attempting to set its value.
pVisibility | Although the argument is a double number and its value is not checked, the FBX SDK assumes that this argument value is in the range [0.0 - 1.0]. The value 0.0 meaning totally invisible and anything else meaning visible. Applications can also use this value as a percentage of the visibility. |
KFbxNode* node; // we suppose this is a valid pointer if (node->Visibility.IsValid()) KFbxSet <double> (node->Visibility, pVisibility);
void SetVisibility | ( | bool | pIsVisible | ) |
Set the node Visibility value from the boolean parameter.
pIsVisible | Node is visible in the scene if set to true . |
if (Visibility.IsValid()) { fbxDouble1 val(pIsVisible); KFbxSet <fbxDouble1> (Visibility, val); }
K_DEPRECATED double GetDefaultVisibility | ( | ) | const |
This is a DEPRECATED utility method that can be used to get the value of the Visibility property.
Checks for the validity of the property before attempting to set its value.
KFbxNode* node; // we suppose this is a valid pointer double lVisibility = 0.0; if (node->Visibility.IsValid()) lVisibility = KFbxGet<double>(node->Visibility);
bool GetVisibility | ( | ) | const |
Get the current value of the Visibility property.
false
if the Visibility property value is 0.0 and
true
for any other value.false
.void SetShadingMode | ( | EShadingMode | pShadingMode | ) |
Set the shading mode.
pShadingMode | The shading mode. |
EShadingMode GetShadingMode | ( | ) | const |
KFbxNodeAttribute* SetNodeAttribute | ( | KFbxNodeAttribute * | pNodeAttribute | ) |
Set the node attribute.
pNodeAttribute | Node attribute object |
NULL
if
the node didn't have a node attribute or if the new node attribute
is equal to the one currently set.KFbxNodeAttribute* GetNodeAttribute | ( | ) |
Get the default node attribute.
The default node attribute is the attribute that has been set by the call to SetNodeAttribute().
NULL
if
the node doesn't have a node attribute.KFbxNodeAttribute const* GetNodeAttribute | ( | ) | const |
Get the default node attribute.
The default node attribute is the attribute that has been set by the call to SetNodeAttribute(...).
NULL
if
the node doesn't have a node attribute.int GetNodeAttributeCount | ( | ) | const |
Get the number of node attribute(s) connected to this node.
int GetDefaultNodeAttributeIndex | ( | ) | const |
Get the index, in the list of connected node attributes, of the node attribute that is set to be the default one.
-1
if there
is no default node attribute set.bool SetDefaultNodeAttributeIndex | ( | int | pIndex | ) |
Set index of the default node attribute.
pIndex | Identifies which of the connected node attributes is becoming the default one. This value represent the connection number of the node. |
true
if the operation succeeds or
false
if the passed index is invalid. In this case,
KFbxNode::GetLastErrorID() returns
eINDEX_OUT_OF_RANGE.KFbxNodeAttribute* GetNodeAttributeByIndex | ( | int | pIndex | ) |
Get the connected node attribute by specifying its index in the connection list.
pIndex | The connection number of the node. |
NULL
if
the index is out of range. In this case, KFbxNode::GetLastErrorID() returns
eINDEX_OUT_OF_RANGE.KFbxNodeAttribute const* GetNodeAttributeByIndex | ( | int | pIndex | ) | const |
Get the connected node attribute by specifying its index in the connection list.
pIndex | The connection number of the node. |
NULL
if
the index is out of range. In this case, KFbxNode::GetLastErrorID() returns
eINDEX_OUT_OF_RANGE.int GetNodeAttributeIndex | ( | KFbxNodeAttribute * | pNodeAttribute | ) | const |
Get the connection index of the specified node attribute.
This method will do a linear search of all the connected node attributes (from the last to the first connection) until it finds pNodeAttribue.
pNodeAttribute | The pointer to the node attribute. |
-1
if pNodeAttribute is NULL
or not connected to this
node. For both failing conditions, KFbxNode::GetLastErrorID() returns
eATTRIBUTE_NOT_CONNECTED.bool AddNodeAttribute | ( | KFbxNodeAttribute * | pNodeAttribute | ) |
Add the new node attribute to this node.
If no other node attribute is already set as the default one, this new node attribute is automatically set as the default one.
pNodeAttribute | The pointer to a node attribute. |
true
if the operation succeeded or
false
if the operation failed.NULL
.KFbxNodeAttribute* RemoveNodeAttribute | ( | KFbxNodeAttribute * | pNodeAttribute | ) |
Remove the node attribute from the connection list of this node.
pNodeAttribute | The pointer to a node attribute. |
NULL
if
the operation failed. In this case, KFbxNode::GetLastErrorID() returns
eATTRIBUTE_NOT_CONNECTED.KFbxNodeAttribute* RemoveNodeAttributeByIndex | ( | int | pIndex | ) |
Remove the node attribute, specified by the connection index, from the connection list of this node.
pIndex | Index of the node attribute. |
NULL
if
the operation failed.KFbxCachedEffect* GetCachedEffect | ( | ) |
Get the default node attribute casted to a KFbxCachedEffect pointer.
NULL
.KFbxLodGroup* GetLodGroup | ( | ) |
Get the default node attribute casted to a KFbxLodGroup pointer.
NULL
.KFbxNull* GetNull | ( | ) |
Get the default node attribute casted to a KFbxNull pointer.
NULL
.KFbxMarker* GetMarker | ( | ) |
Get the node attribute casted to a KFbxMarker pointer.
NULL
.KFbxSkeleton* GetSkeleton | ( | ) |
Get the node attribute casted to a KFbxSkeleton pointer.
NULL
.KFbxGeometry* GetGeometry | ( | ) |
Get the node attribute casted to a KFbxGeometry pointer.
NULL
.KFbxMesh* GetMesh | ( | ) |
Get the node attribute casted to a KFbxMesh pointer.
NULL
.KFbxNurb* GetNurb | ( | ) |
Get the node attribute casted to a KFbxNurb pointer.
NULL
.KFbxNurbsSurface* GetNurbsSurface | ( | ) |
Get the node attribute casted to a KFbxNurbsSurface pointer.
NULL
.KFbxNurbsCurve* GetNurbsCurve | ( | ) |
Get the node attribute casted to a KFbxNurbsCurve pointer.
NULL
.KFbxLine* GetLine | ( | ) |
Get the node attribute casted to a KFbxLine pointer.
NULL
.KFbxTrimNurbsSurface* GetTrimNurbsSurface | ( | ) |
Get the node attribute casted to a KFbxTrimNurbsSurface pointer.
NULL
.KFbxSubdiv* GetSubdiv | ( | ) |
Get the node attribute casted to a KFbxSubdiv pointer.
NULL
.KFbxPatch* GetPatch | ( | ) |
Get the node attribute casted to a KFbxPatch pointer.
NULL
.KFbxCamera* GetCamera | ( | ) |
Get the node attribute casted to a KFbxCamera pointer.
NULL
.const KFbxCamera* GetCamera | ( | ) | const |
KFbxCameraStereo* GetCameraStereo | ( | ) |
Get the node attribute casted to a KFbxCameraStereo pointer.
NULL
.KFbxCameraSwitcher* GetCameraSwitcher | ( | ) |
Get the node attribute casted to a KFbxCameraSwitcher pointer.
NULL
.KFbxLight* GetLight | ( | ) |
Get the node attribute casted to a KFbxLight pointer.
NULL
.const KFbxLight* GetLight | ( | ) | const |
KFbxOpticalReference* GetOpticalReference | ( | ) |
Get the node attribute casted to a KFbxOpticalReference pointer.
NULL
.void SetTransformationInheritType | ( | ETransformInheritType | pInheritType | ) |
Sets how child transforms are inherited from parent transforms.
pInheritType | One of the following values eINHERIT_RrSs, eINHERIT_RSrs or eINHERIT_Rrs |
void GetTransformationInheritType | ( | ETransformInheritType & | pInheritType | ) | const |
void SetPivotState | ( | EPivotSet | pPivotSet, |
EPivotState | pPivotState | ||
) |
Change the state of the pivot context.
pPivotSet | Specify which pivot context is manipulated. |
pPivotState | The new state of the pivot context. |
void GetPivotState | ( | EPivotSet | pPivotSet, |
EPivotState & | pPivotState | ||
) | const |
Get the pivot context state.
The returned value tells if this pivot context is used in the evaluation of the node transform or not.
pPivotSet | Specify which pivot context is queried. |
pPivotState | The current state of the pivot set. |
void SetRotationOrder | ( | EPivotSet | pPivotSet, |
ERotationOrder | pRotationOrder | ||
) |
Set rotation space Determine the rotation space (Euler or Spheric) and the rotation order.
pPivotSet | Specify which pivot context is manipulated. |
pRotationOrder | The new value for the pivot rotation order. |
void GetRotationOrder | ( | EPivotSet | pPivotSet, |
ERotationOrder & | pRotationOrder | ||
) | const |
Get rotation order.
pPivotSet | Specify which pivot context is queried. |
pRotationOrder | The current value of the pivot rotation order. |
void SetUseRotationSpaceForLimitOnly | ( | EPivotSet | pPivotSet, |
bool | pUseForLimitOnly | ||
) |
Set rotation space for limit only.
pPivotSet | Specify which pivot context is manipulated. |
pUseForLimitOnly | When set to true , the current rotation space (set
with SetRotationOrder) define the rotation space for the limit
only; leaving the rotation animation in Euler XYZ space. When set
to false , the current rotation space defines the
rotation space for both the limits and the rotation animation
data. |
bool GetUseRotationSpaceForLimitOnly | ( | EPivotSet | pPivotSet | ) | const |
Get rotation space for limit only.
pPivotSet | Specify which pivot context is queried. |
void SetRotationActive | ( | bool | pVal | ) |
Set the RotationActive state.
pVal | The new state of the property. |
bool GetRotationActive | ( | ) | const |
Get the RotationActive state.
void SetQuaternionInterpolation | ( | EPivotSet | pPivotSet, |
EQuaternionInterpolation | pQuatIterp | ||
) |
Specify which Quaternion interpolation mode is used on the pivot context.
pPivotSet | Specify which pivot context is manipulated. |
pQuatIterp | The new value. |
EQuaternionInterpolation GetQuaternionInterpolation | ( | EPivotSet | pPivotSet | ) | const |
Get the Quaternion interpolation mode of the pivot context.
pPivotSet | Specify which pivot context is queried. |
K_DEPRECATED void SetUseQuaternionForInterpolation | ( | EPivotSet | pPivotSet, |
bool | pUseQuaternion | ||
) |
Set the Quaternion interpolation mode on the pivot context.
pPivotSet | Specify which pivot context is manipulated. |
pUseQuaternion | The new state. |
False
, this
method is equivalent to calling
SetQuaternionInterpolation(pPivotSet, eQUATINTERP_OFF). Similarly,
when the pUseQuaternion = True
, the
equivalent call is SetQuaternionInterpolation(pPivotSet,
eQUATINTERP_CLASSIC).K_DEPRECATED bool GetUseQuaternionForInterpolation | ( | EPivotSet | pPivotSet | ) | const |
Get the Quaternion interpolation state on the pivot context.
pPivotSet | Specify which pivot context is queried. |
False
if the Quaternion Interpolation mode on the
pivot context is eQUATINTERP_OFF and True
otherwise.True
,
applications that only support the eQUATINTERP_CLASSIC mode, should
call the GetQuaternionInterpolation()
method to make sure that they are manipulating the supported
mode.void SetRotationStiffness | ( | KFbxVector4 | pRotationStiffness | ) |
Set the rotation stiffness.
The stiffness attribute is used by IK solvers to generate a resistance to a joint motion. The higher the stiffness the less it will rotate. Stiffness works in a relative sense: it determines the willingness of this joint to rotate with respect to the other joint in the IK chain.
pRotationStiffness | The rotation stiffness values are limited to the range [0, 100]. |
KFbxVector4 GetRotationStiffness | ( | ) | const |
Get the rotation stiffness.
void SetMinDampRange | ( | KFbxVector4 | pMinDampRange | ) |
Set the minimum damp range angles.
This attributes apply resistance to a joint rotation as it approaches the lower boundary of its rotation limits. This functionality allows joint motion to slow down smoothly until the joint reaches its rotation limits instead of stopping abruptly. The MinDampRange specifies when the deceleration should start.
pMinDampRange | Angle, in degrees, where deceleration should start |
KFbxVector4 GetMinDampRange | ( | ) | const |
Get the minimum damp range angles.
void SetMaxDampRange | ( | KFbxVector4 | pMaxDampRange | ) |
Set the maximum damp range angles.
This attributes apply resistance to a joint rotation as it approaches the upper boundary of its rotation limits. This functionality allows joint motion to slow down smoothly until the joint reaches its rotation limits instead of stopping abruptly. The MaxDampRange specifies when the deceleration should start.
pMaxDampRange | Angle, in degrees, where deceleration should start |
KFbxVector4 GetMaxDampRange | ( | ) | const |
Get the maximum damp range angles.
void SetMinDampStrength | ( | KFbxVector4 | pMinDampStrength | ) |
Set the minimum damp strength.
This attributes apply resistance to a joint rotation as it approaches the lower boundary of its rotation limits. This functionality allows joint motion to slow down smoothly until the joint reaches its rotation limits instead of stopping abruptly. The MinDampStrength defines the rate of deceleration.
pMinDampStrength | Values are limited to the range [0, 100]. |
KFbxVector4 GetMinDampStrength | ( | ) | const |
Get the minimum damp strength.
void SetMaxDampStrength | ( | KFbxVector4 | pMaxDampStrength | ) |
Set the maximum damp strength.
This attributes apply resistance to a joint rotation as it approaches the upper boundary of its rotation limits. This functionality allows joint motion to slow down smoothly until the joint reaches its rotation limits instead of stopping abruptly. The MaxDampStrength defines the rate of deceleration.
pMaxDampStrength | Values are limited to the range [0, 100]. |
KFbxVector4 GetMaxDampStrength | ( | ) | const |
Get the maximum damp strength.
void SetPreferedAngle | ( | KFbxVector4 | pPreferedAngle | ) |
Set the preferred angle.
The preferredAngle attribute defines the initial joint configuration used by a single chain IK solver to calculate the inverse kinematic solution.
pPreferedAngle | Angle in degrees |
KFbxVector4 GetPreferedAngle | ( | ) | const |
void SetRotationOffset | ( | EPivotSet | pPivotSet, |
KFbxVector4 | pVector | ||
) |
Set a translation offset for the rotation pivot.
The translation offset is in coordinates relative to the node's origin.
pPivotSet | Specify which pivot set to modify. |
pVector | The X,Y and Z translation values (the 4th component of the KFbxVector4 is ignored). |
const KFbxVector4& GetRotationOffset | ( | EPivotSet | pPivotSet | ) | const |
Get the translation offset for the rotation pivot.
The translation offset is in coordinates relative to the node's origin.
pPivotSet | Specify which pivot set to to query the value. |
void SetRotationPivot | ( | EPivotSet | pPivotSet, |
KFbxVector4 | pVector | ||
) |
Set rotation pivot.
The rotation pivot is the center of rotation in coordinates relative to the node's origin.
pPivotSet | Specify which pivot set to modify. |
pVector | The new position of the rotation pivot (the 4th component of the KFbxVector4 is ignored). |
const KFbxVector4& GetRotationPivot | ( | EPivotSet | pPivotSet | ) | const |
Get rotation pivot.
The rotation pivot is the center of rotation in coordinates relative to the node's origin.
pPivotSet | Specify which pivot set to query. |
void SetPreRotation | ( | EPivotSet | pPivotSet, |
KFbxVector4 | pVector | ||
) |
Set pre-rotation in Euler angles.
The pre-rotation is the rotation applied to the node before rotation animation data.
pPivotSet | Specify which pivot set to modify. |
pVector | The X,Y,Z rotation values to set (the 4th component of the KFbxVector4 is ignored). |
const KFbxVector4& GetPreRotation | ( | EPivotSet | pPivotSet | ) | const |
Get pre-rotation in Euler angles.
The pre-rotation is the rotation applied to the node before rotation animation data.
pPivotSet | Specify which pivot set to query. |
void SetPostRotation | ( | EPivotSet | pPivotSet, |
KFbxVector4 | pVector | ||
) |
Set post-rotation in Euler angles.
The post-rotation is the rotation applied to the node after the rotation animation data.
pPivotSet | Specify which pivot set to modify. |
pVector | The X,Y,Z rotation values to set (the 4th component of the KFbxVector4 is ignored). |
const KFbxVector4& GetPostRotation | ( | EPivotSet | pPivotSet | ) | const |
Get post-rotation in Euler angles.
The post-rotation is the rotation applied to the node after the rotation animation data.
pPivotSet | Specify which pivot set to query. |
void SetScalingOffset | ( | EPivotSet | pPivotSet, |
KFbxVector4 | pVector | ||
) |
Set a translation offset for the scaling pivot.
The translation offset is in coordinates relative to the node's origin.
pPivotSet | Specify which pivot set to modify. |
pVector | The X,Y and Z translation values (the 4th component of the KFbxVector4 is ignored). |
const KFbxVector4& GetScalingOffset | ( | EPivotSet | pPivotSet | ) | const |
Get the translation offset for the scaling pivot.
The translation offset is in coordinates relative to the node's origin.
pPivotSet | Specify which pivot set to query the value. |
void SetScalingPivot | ( | EPivotSet | pPivotSet, |
KFbxVector4 | pVector | ||
) |
Set scaling pivot.
The scaling pivot is the center of scaling in coordinates relative to the node's origin.
pPivotSet | Specify which pivot set to modify. |
pVector | The new position of the scaling pivot (the 4th component of the KFbxVector4 is ignored). |
const KFbxVector4& GetScalingPivot | ( | EPivotSet | pPivotSet | ) | const |
Get scaling pivot.
The scaling pivot is the center of scaling in coordinates relative to the node's origin.
pPivotSet | Specify which pivot set to query. |
void SetGeometricTranslation | ( | EPivotSet | pPivotSet, |
KFbxVector4 | pVector | ||
) |
Set geometric translation The geometric translation is a local translation that is applied to a node attribute only.
This translation is applied to the node attribute after the node transformations. This translation is not inherited across the node hierarchy.
pPivotSet | Specify which pivot set to modify. |
pVector | The X, Y, and Z translation values (the 4th component of the KFbxVector4 is ignored). |
KFbxVector4 GetGeometricTranslation | ( | EPivotSet | pPivotSet | ) | const |
Get geometric translation.
pPivotSet | Specify which pivot set to query. |
void SetGeometricRotation | ( | EPivotSet | pPivotSet, |
KFbxVector4 | pVector | ||
) |
Set geometric rotation The geometric rotation is a local rotation that is applied to a node attribute only.
This rotation is applied to the node attribute after the node transformations. This rotation is not inherited across the node hierarchy.
pPivotSet | Specify which pivot set to modify. |
pVector | The X,Y and Z rotation values (the 4th component of the KFbxVector4 is ignored). |
KFbxVector4 GetGeometricRotation | ( | EPivotSet | pPivotSet | ) | const |
Get geometric rotation.
pPivotSet | Specify which pivot set to query. |
void SetGeometricScaling | ( | EPivotSet | pPivotSet, |
KFbxVector4 | pVector | ||
) |
Set geometric scaling The geometric scaling is a local scaling that is applied to a node attribute only.
This scaling is applied to the node attribute after the node transformations. This scaling is not inherited across the node hierarchy.
pPivotSet | Specify which pivot set to modify. |
pVector | The X,Y and Z scale values (the 4th component of the KFbxVector4 is ignored). |
KFbxVector4 GetGeometricScaling | ( | EPivotSet | pPivotSet | ) | const |
Get geometric scaling.
pPivotSet | Specify which pivot set to query. |
void ResetPivotSet | ( | KFbxNode::EPivotSet | pPivotSet | ) |
Reset a pivot set to the default pivot context.
If the node has a geometry, reset the geometry's pivot to the identity matrix.
pPivotSet | Pivot set to reset. |
void ConvertPivotAnimation | ( | EPivotSet | pConversionTarget, |
double | pFrameRate, | ||
bool | pKeyReduce =
true |
||
) |
Recursively convert the animation data according to pivot settings.
This method is still available for legacy reasons. Its use is limited to the processing of very old data coming from FBX v5 files and should not be used in any other case. Instead call the ConvertPivotAnimationRecursive().
pConversionTarget | If set to EPivotSet::eDESTINATION_SET, convert animation data from the EPivotSet::eSOURCE_SET pivot context to the EPivotSet::eDESTINATION_SET pivot context. Otherwise, the conversion is computed the other way around. |
pFrameRate | Resampling frame rate in frames per second. |
pKeyReduce | Apply or skip key reducing filter. |
void ConvertPivotAnimationRecursive | ( | const char * | pAnimStackName, |
EPivotSet | pConversionTarget, | ||
double | pFrameRate, | ||
bool | pKeyReduce =
true |
||
) |
This version is an improved version of the ConvertPivotAnimation().
It fully supports all the attributes defined in the pivot sets and can process animation data defined on different animation stack.
pAnimStackName | The name of animation stack on which the conversion will take
place. If equals NULL or is an empty string, the first
animation stack will be used. |
pConversionTarget | If set to EPivotSet::eDESTINATION_SET, convert animation data from the EPivotSet::eSOURCE_SET pivot context to the EPivotSet::eDESTINATION_SET pivot context. Otherwise, the conversion is computed the other way around. |
pFrameRate | Resampling frame rate in frames per second. |
pKeyReduce | Apply or skip key reducing filter. |
void ResetPivotSetAndConvertAnimation | ( | double | pFrameRate = 30. , |
bool | pKeyReduce =
false , |
||
bool | pToNodeCenter =
true , |
||
bool | pForceResetLimits =
false |
||
) |
Reset all the pivot sets to the default pivot context and convert the animation.
pFrameRate | Resampling frame rate in frames per second. |
pKeyReduce | Apply or skip key reducing filter. |
pToNodeCenter,: | Reset pivots to node center if true , or retain
pivot places if false . |
pForceResetLimits | If true , this flag will reset all the Translation,
Rotation and Scaling limits and clears the enabled flags. |
void SetRotationPivotAsCenterRecursive | ( | KFbxVector4 | pParentGeometricOffset =
KFbxVector4() |
) |
Set rotation pivot as node center recursively.
pParentGeometricOffset | Offset vector to be applied. |
KFbxXMatrix& EvaluateGlobalTransform | ( | KTime | pTime =
KTIME_INFINITE , |
KFbxNode::EPivotSet | pPivotSet =
KFbxNode::eSOURCE_SET , |
||
bool | pApplyTarget =
false , |
||
bool | pForceEval =
false |
||
) |
Returns this node's global transformation matrix at the specified time.
The node's translation, rotation and scaling limits are taken into consideration.
pTime | The time used for evaluate. If KTIME_INFINITE is used, this returns the default value, without animation curves evaluation. |
pPivotSet | The pivot set to take into account |
pApplyTarget | Applies the necessary transform to align into the target node |
pForceEval | Force the evaluator to refresh the evaluation state cache even if its already up-to-date. |
KFbxXMatrix& EvaluateLocalTransform | ( | KTime | pTime =
KTIME_INFINITE , |
KFbxNode::EPivotSet | pPivotSet =
KFbxNode::eSOURCE_SET , |
||
bool | pApplyTarget =
false , |
||
bool | pForceEval =
false |
||
) |
Returns this node's local transformation matrix at the specified time.
The node's translation, rotation and scaling limits are taken into consideration.
pTime | The time used for evaluate. If KTIME_INFINITE is used, this returns the default value, without animation curves evaluation. |
pPivotSet | The pivot set to take into account |
pApplyTarget | Applies the necessary transform to align into the target node |
pForceEval | Force the evaluator to refresh the evaluation state cache even if its already up-to-date. |
KFbxVector4& EvaluateLocalTranslation | ( | KTime | pTime =
KTIME_INFINITE , |
KFbxNode::EPivotSet | pPivotSet =
KFbxNode::eSOURCE_SET , |
||
bool | pApplyTarget =
false , |
||
bool | pForceEval =
false |
||
) |
Returns this node's LclTranslation property at the specified time.
No pivot, offsets, or any other transform is taken into consideration. The translation limit is applied.
pTime | The time used for evaluate. If KTIME_INFINITE is used, this returns the default value, without animation curves evaluation. |
pPivotSet | The pivot set to take into account |
pApplyTarget | Applies the necessary transform to align into the target node |
pForceEval | Force the evaluator to refresh the evaluation state cache even if its already up-to-date. |
KFbxVector4& EvaluateLocalRotation | ( | KTime | pTime =
KTIME_INFINITE , |
KFbxNode::EPivotSet | pPivotSet =
KFbxNode::eSOURCE_SET , |
||
bool | pApplyTarget =
false , |
||
bool | pForceEval =
false |
||
) |
Returns this node's LclRotation property at the specified time.
No pre/post rotation, rotation pivot, rotation offset or any other transform is taken into consideration. The rotation limit is applied.
pNode | The transform node to evaluate. |
pTime | The time used for evaluate. If KTIME_INFINITE is used, this returns the default value, without animation curves evaluation. |
pPivotSet | The pivot set to take into account |
pApplyTarget | Applies the necessary transform to align into the target node |
pForceEval | Force the evaluator to refresh the evaluation state cache even if its already up-to-date. |
KFbxVector4& EvaluateLocalScaling | ( | KTime | pTime =
KTIME_INFINITE , |
KFbxNode::EPivotSet | pPivotSet =
KFbxNode::eSOURCE_SET , |
||
bool | pApplyTarget =
false , |
||
bool | pForceEval =
false |
||
) |
Returns this node's LclScaling property at the specified time.
No scaling pivot, scaling offset or any other transform is taken into consideration. The scaling limit is applied.
pTime | The time used for evaluate. If KTIME_INFINITE is used, this returns the default value, without animation curves evaluation. |
pPivotSet | The pivot set to take into account |
pApplyTarget | Applies the necessary transform to align into the target node |
pForceEval | Force the evaluator to refresh the evaluation state cache even if its already up-to-date. |
int GetCharacterLinkCount | ( | ) | const |
bool GetCharacterLink | ( | int | pIndex, |
KFbxCharacter ** | pCharacter, | ||
int * | pCharacterLinkType, | ||
int * | pNodeId, | ||
int * | pNodeSubId | ||
) |
Get character link at given index.
pIndex | Index of character link. |
pCharacter | Pointer to receive linked character if function succeeds. |
pCharacterLinkType | Pointer to receive character link type if function succeeds,
cast to ECharacterLinkType . |
pNodeId | Pointer to receive the node ID if function succeeds. This ID
should be casted to ECharacterNodeId type when the
character link type is eCharacterLink or
eControlSetLink else to the
EEffectorNodeId type if the character link type is
eControlSetEffector or
eControlSetEffectorAux . |
pNodeSubId | For internal use. |
false
if the index is out of range or any of the
pointer arguments is NULL.int FindCharacterLink | ( | KFbxCharacter * | pCharacter, |
int | pCharacterLinkType, | ||
int | pNodeId, | ||
int | pNodeSubId | ||
) | const |
Looks if the given character link exists on this node.
pCharacter | Character searched. |
pCharacterLinkType | Character link type searched. Its value must be one of the
ECharacterLinkType symbols.. |
pNodeId | Node ID searched. If pCharacterLinkType is
eCharacterLink or eControlSetLink the
pNodeId value is casted to the
ECharacterNodeId type. If the
pCharacterLinkType is eControlSetEffector or
eControlSetEffectorAux then the pNodeId is
casted to the EEffectorNodeId type. |
pNodeSubId | For internal use. |
virtual K_DEPRECATED bool GetAnimationInterval | ( | KTime & | pStart, |
KTime & | pStop, | ||
KFbxAnimStack * | pAnimStack = NULL , |
||
int | pAnimLayerId =
0 |
||
) | [virtual] |
Find out start and end time of the animation curves for this node (and its children).
pStart | Reference to store the start time. pStart is
overwritten with a new value only if the found start time is lower
than pStart current value. Therefore, it is important
to initialize pStart with KTIME_INFINITE. |
pStop | Reference to store end time. pStop is overwritten
with a new value only if the found stop time is higher than
pStop current value. Therefore, it is important to
initialize pStop with KTIME_MINUS_INFINITE. |
pAnimStack | Animation stack where to retrieve animation curves. |
pAnimLayerId | Specific animation layer on the animStack to use. |
true
if the node (or its children) is animated,
false
otherwise.lNode->GetAnimationInterval(start, stop, myStack, 3);
myStack
.virtual bool GetAnimationInterval | ( | KTimeSpan & | pSpan, |
KFbxAnimStack * | pAnimStack = NULL , |
||
int | pAnimLayerId =
0 |
||
) | [virtual] |
Find out start and end time of the animation curves for this node (and its children).
pSpan | Reference to store the start time and end time. The start time is overwritten with a new value only if the found start time is lower than current value. The end time is overwritten with a new value only if the found end time is higher than current value. Therefore, it is important to initialize pSpan with KTimeSpan(KTIME_INFINITE, KTIME_MINUS_INFINITE). |
pAnimStack | Animation stack where to retrieve animation curves. |
pAnimLayerId | Specific animation layer on the animStack to use. |
true
if the node (or its children) is animated,
false
otherwise.lNode->GetAnimationInterval(span, myStack, 3);
myStack
.int AddMaterial | ( | KFbxSurfaceMaterial * | pMaterial | ) |
Add a material to this node.
pMaterial | The material to add. |
bool RemoveMaterial | ( | KFbxSurfaceMaterial * | pMaterial | ) |
Remove a material from this node.
pMaterial | The material to remove. |
int GetMaterialCount | ( | ) | const |
KFbxSurfaceMaterial* GetMaterial | ( | int | pIndex | ) | const |
Access a material on this node.
pIndex | Valid range is [0, GetMaterialCount() - 1] |
void RemoveAllMaterials | ( | ) |
Remove all materials applied to this node.
int GetMaterialIndex | ( | char const * | pName | ) | const |
Find an applied material with the given name.
pName | The requested name |
KError& GetError | ( | ) |
EError GetLastErrorID | ( | ) | const |
const char* GetLastErrorString | ( | ) | const |
void SetMultiLayer | ( | bool | pMultiLayer | ) |
This flag is still available for backward compatibility with older version of FBX files and should not be used anymore.
All the animation layering system has been moved to the KFbxAnimLayer and KFbxAnimStack classes. Enable or disable the multilayer state.
pMultiLayer | The new state of the multi-layer flag. |
bool GetMultiLayer | ( | ) | const |
Get multilayer state.
void SetMultiTakeMode | ( | EMultiTakeMode | pMultiTakeMode | ) |
Set the multitake mode.
pMultiTakeMode | The multitake mode to set. |
EMultiTakeMode GetMultiTakeMode | ( | ) | const |
KFbxNodeLimits& GetLimits | ( | ) |
Get node limits.
virtual bool PropertyNotify | ( | eFbxPropertyNotify | pType, |
KFbxProperty * | pProperty | ||
) | [virtual] |
Notify that a KFbxNode property has changed.
pType | Type of property notification |
pProperty | The changed property |
true
on success, false
otherwise.Reimplemented from KFbxObject.
virtual void Construct | ( | const KFbxNode * | pFrom | ) | [protected, virtual] |
virtual bool ConstructProperties | ( | bool | pForceSet | ) | [protected, virtual] |
Reimplemented from KFbxObject.
virtual void Destruct | ( | bool | pRecursive, |
bool | pDependents | ||
) | [protected, virtual] |
Reimplemented from KFbxObject.
void Reset | ( | ) | [protected] |
K_DEPRECATED bool GetAnimationIntervalRecursive | ( | KTime & | pStart, |
KTime & | pStop, | ||
KFbxAnimLayer * | pAnimLayer | ||
) | [protected] |
bool GetAnimationIntervalRecursive | ( | KTimeSpan & | pTimeInterval, |
KFbxAnimLayer * | pAnimLayer | ||
) | [protected] |
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.
void AddChildName | ( | char * | pChildName | ) |
Just add child name to the children name list.
pChildName | The added child name. |
char* GetChildName | ( | kUInt | pIndex | ) | const |
According the given index,get child name from the children name list.
pIndex | The given index. |
kUInt GetChildNameCount | ( | ) | const |
Get the count of child names in the children name list.
void UpdatePivotsAndLimitsFromProperties | ( | ) |
Update pivots and limits from properties.
void UpdatePropertiesFromPivotsAndLimits | ( | ) |
Update properties from pivots and limits.
void SetRotationActiveProperty | ( | bool | pVal | ) |
Set rotation active property as given value.
pVal | The given value of rotation active property. |
void PivotSetToMBTransform | ( | EPivotSet | pPivotSet | ) |
Set MBTransform according the given pivot set.
pPivotSet | Specify according which pivot set to set MBTransform. |
virtual const char* GetTypeName | ( | ) | const [virtual] |
Get type name from the default node attribute.
Reimplemented from KFbxObject.
virtual KStringList GetTypeFlags | ( | ) | const [virtual] |
Get type flags from the default node attribute.
Reimplemented from KFbxObject.
KMBTransform* GetMBTransform | ( | ) | [protected] |
int AddCharacterLink | ( | KFbxCharacter * | pCharacter, |
int | pCharacterLinkType, | ||
int | pNodeId, | ||
int | pNodeSubId | ||
) | [protected] |
int RemoveCharacterLink | ( | KFbxCharacter * | pCharacter, |
int | pCharacterLinkType, | ||
int | pNodeId, | ||
int | pNodeSubId | ||
) | [protected] |
friend class KFbxScene [friend] |
Reimplemented from KFbxObject.
Definition at line 2199 of file kfbxnode.h.
friend class KFbxGeometry
[friend] |
Definition at line 2200 of file kfbxnode.h.
friend class KFbxLight [friend] |
Definition at line 2201 of file kfbxnode.h.
friend class KFbxNodeFinderDuplicateName
[friend] |
Definition at line 2202 of file kfbxnode.h.
friend class KFbxCharacter
[friend] |
Definition at line 2203 of file kfbxnode.h.
friend class KFbxControlSet
[friend] |
Definition at line 2204 of file kfbxnode.h.
friend class KFbxNode_internal
[friend] |
Definition at line 2205 of file kfbxnode.h.
friend class KFbxSurfaceMaterial_internal
[friend] |
Definition at line 2206 of file kfbxnode.h.
friend class KFbxTexture_internal
[friend] |
Definition at line 2207 of file kfbxnode.h.
friend class KFbxVideo_internal
[friend] |
Definition at line 2208 of file kfbxnode.h.
friend class KFbxNodeLimits
[friend] |
Definition at line 2210 of file kfbxnode.h.
friend class KFbxLimits [friend] |
Definition at line 2211 of file kfbxnode.h.
friend class KFbxNodeEvalState
[friend] |
Definition at line 2212 of file kfbxnode.h.
This property contains the translation information of the node.
To access this property do: LclTranslation.Get(). To set this property do: LclTranslation.Set(fbxDouble3).
Default value is 0.,0.,0.
Definition at line 1364 of file kfbxnode.h.
This property contains the rotation information of the node.
To access this property do: LclRotation.Get(). To set this property do: LclRotation.Set(fbxDouble3).
Default value is 0.,0.,0.
Definition at line 1373 of file kfbxnode.h.
This property contains the scaling information of the node.
To access this property do: LclScaling.Get(). To set this property do: LclScaling.Set(fbxDouble3).
Default value is 1.,1.,1.
Definition at line 1382 of file kfbxnode.h.
This property contains the visibility information of the node.
The assumed behavior of this property is to affect the visibility of the node, all the nodes attributes connected to it as well as all its descendants. This property can be animated.
To access this property do: Visibility.Get(). To set this property do: Visibility.Set(fbxDouble1).
Default value is 1.
Definition at line 1402 of file kfbxnode.h.
This property contains the visibility inheritance flag that allow applications to modify the Visibility property interpretation.
By default, this value is set to true
because it is
assumed (as explained in the Visibility property description) that
the node visibility is inherited from its parent. In other words,
applications should always process the Visibility property of the
node and, depending on its value, decide whether or not the node
has to be displayed. After this first assessment, check the node
VisibilityInheritance flag. If its value is set to
false
then move to the next object, else use the
parent's Visibility value and modify this node display state by
performing the logical AND operation between this node Visibility
property and its parent's.
To access this property do: VisibilityInheritance.Get(). To set this property do: VisibilityInheritance.Set(fbxBool1).
Default value is true
.
Definition at line 1421 of file kfbxnode.h.
This property contains the quaternion interpolate flag of the node.
To access this property do: QuaternionInterpolate.Get(). To set this property do: QuaternionInterpolate.Set(EQuaternionInterpolation).
Default value is eQUATINTERP_OFF.
Definition at line 1431 of file kfbxnode.h.
This property contains the rotation offset information of the node.
To access this property do: RotationOffset.Get(). To set this property do: RotationOffset.Set(fbxDouble3).
Default value is 0.,0.,0.
Definition at line 1440 of file kfbxnode.h.
This property contains the rotation pivot information of the node.
To access this property do: RotationPivot.Get(). To set this property do: RotationPivot.Set(fbxDouble3).
Default value is 0.,0.,0.
Definition at line 1449 of file kfbxnode.h.
This property contains the scaling offset information of the node.
To access this property do: ScalingOffset.Get(). To set this property do: ScalingOffset.Set(fbxDouble3).
Default value is 0.,0.,0.
Definition at line 1458 of file kfbxnode.h.
This property contains the scaling pivot information of the node.
To access this property do: ScalingPivot.Get(). To set this property do: ScalingPivot.Set(fbxDouble3).
Default value is 0.,0.,0.
Definition at line 1467 of file kfbxnode.h.
This property contains the translation active information of the node.
To access this property do: TranslationActive.Get(). To set this property do: TranslationActive.Set(fbxBool1).
Default value is false.
Definition at line 1476 of file kfbxnode.h.
This property contains the translation information of the node.
To access this property do: Translation.Get(). To set this property do: Translation.Set(fbxDouble3).
Definition at line 1484 of file kfbxnode.h.
This property contains the min translation limit information of the node.
To access this property do: TranslationMin.Get(). To set this property do: TranslationMin.Set(fbxDouble3). Default value is 0.,0.,0.
Definition at line 1493 of file kfbxnode.h.
This property contains the max translation limit information of the node.
To access this property do: TranslationMax.Get(). To set this property do: TranslationMax.Set(fbxDouble3). Default value is 0.,0.,0.
Definition at line 1502 of file kfbxnode.h.
This property contains the flag which actives the x component of min translation limit of the node.
To access this property do: TranslationMinX.Get(). To set this property do: TranslationMinX.Set(fbxBool1).
Default value is false.
Definition at line 1511 of file kfbxnode.h.
This property contains the flag which actives the y component of min translation limit of the node.
To access this property do: TranslationMinY.Get(). To set this property do: TranslationMinY.Set(fbxBool1).
Default value is false.
Definition at line 1520 of file kfbxnode.h.
This property contains the flag which actives the z component of min translation limit of the node.
To access this property do: TranslationMinZ.Get(). To set this property do: TranslationMinZ.Set(fbxBool1).
Default value is false.
Definition at line 1529 of file kfbxnode.h.
This property contains the flag which actives the x component of max translation limit of the node.
To access this property do: TranslationMaxX.Get(). To set this property do: TranslationMaxX.Set(fbxBool1).
Default value is false.
Definition at line 1538 of file kfbxnode.h.
This property contains the flag which actives the y component of max translation limit of the node.
To access this property do: TranslationMaxY.Get(). To set this property do: TranslationMaxY.Set(fbxBool1).
Default value is false.
Definition at line 1547 of file kfbxnode.h.
This property contains the flag which actives the z component of max translation limit of the node.
To access this property do: TranslationMaxZ.Get(). To set this property do: TranslationMaxZ.Set(fbxBool1).
Default value is false.
Definition at line 1556 of file kfbxnode.h.
This property contains the rotation order information of the node.
To access this property do: RotationOrder.Get(). To set this property do: RotationOrder.Set(ERotationOrder). Default value is eEULER_XYZ.
Definition at line 1565 of file kfbxnode.h.
This property contains the rotation space for limit only flag of the node.
To access this property do: RotationSpaceForLimitOnly.Get(). To set this property do: RotationSpaceForLimitOnly.Set(fbxBool1).
Default value is false.
Definition at line 1574 of file kfbxnode.h.
This property contains the x value of the rotation stiffness of the node.
To access this property do: RotationStiffnessX.Get(). To set this property do: RotationStiffnessX.Set(fbxDouble1).
Default value is 0.
Definition at line 1583 of file kfbxnode.h.
This property contains the y value of the rotation stiffness of the node.
To access this property do: RotationStiffnessY.Get(). To set this property do: RotationStiffnessY.Set(fbxDouble1).
Default value is 0.
Definition at line 1592 of file kfbxnode.h.
This property contains the z value of the rotation stiffness of the node.
To access this property do: RotationStiffnessZ.Get(). To set this property do: RotationStiffnessZ.Set(fbxDouble1).
Default value is 0.
Definition at line 1601 of file kfbxnode.h.
This property contains axis length information of the node.
To access this property do: AxisLen.Get(). To set this property do: AxisLen.Set(fbxDouble1).
Default value is 10.
Definition at line 1610 of file kfbxnode.h.
This property contains pre-rotation information of the node.
To access this property do: PreRotation.Get(). To set this property do: PreRotation.Set(fbxDouble3).
Default value is 0.,0.,0.
Definition at line 1619 of file kfbxnode.h.
This property contains post-rotation information of the node.
To access this property do: PostRotation.Get(). To set this property do: PostRotation.Set(fbxDouble3).
Default value is 0.,0.,0.
Definition at line 1628 of file kfbxnode.h.
This property contains rotation active information of the node.
To access this property do: RotationActive.Get(). To set this property do: RotationActive.Set(fbxBool1).
Default value is false.
Definition at line 1637 of file kfbxnode.h.
This property contains the min rotation limit information of the node.
To access this property do: RotationMin.Get(). To set this property do: RotationMin.Set(fbxDouble3).
Default value is 0.,0.,0.
Definition at line 1646 of file kfbxnode.h.
This property contains the max rotation limit information of the node.
To access this property do: RotationMax.Get(). To set this property do: RotationMax.Set(fbxDouble3).
Default value is 0.,0.,0.
Definition at line 1655 of file kfbxnode.h.
This property contains the flag which actives the x component of min rotation limit of the node.
To access this property do: RotationMinX.Get(). To set this property do: RotationMinX.Set(fbxBool1).
Default value is false.
Definition at line 1664 of file kfbxnode.h.
This property contains the flag which actives the y component of min rotation limit of the node.
To access this property do: RotationMinY.Get(). To set this property do: RotationMinY.Set(fbxBool1).
Default value is false.
Definition at line 1673 of file kfbxnode.h.
This property contains the flag which actives the z component of min rotation limit of the node.
To access this property do: RotationMinZ.Get(). To set this property do: RotationMinZ.Set(fbxBool1).
Default value is false.
Definition at line 1682 of file kfbxnode.h.
This property contains the flag which actives the x component of max rotation limit of the node.
To access this property do: RotationMaxX.Get(). To set this property do: RotationMaxX.Set(fbxBool1).
Default value is false.
Definition at line 1691 of file kfbxnode.h.
This property contains the flag which actives the y component of max rotation limit of the node.
To access this property do: RotationMaxY.Get(). To set this property do: RotationMaxY.Set(fbxBool1).
Default value is false.
Definition at line 1700 of file kfbxnode.h.
This property contains the flag which actives the z component of max rotation limit of the node.
To access this property do: RotationMaxZ.Get(). To set this property do: RotationMaxZ.Set(fbxBool1).
Default value is false.
Definition at line 1709 of file kfbxnode.h.
This property contains inherit type information of the node.
To access this property do: InheritType.Get(). To set this property do: InheritType.Set(ETransformInheritType).
Default value is eINHERIT_RrSs.
Definition at line 1718 of file kfbxnode.h.
This property contains scaling active information of the node.
To access this property do: ScalingActive.Get(). To set this property do: ScalingActive.Set(fbxBool1).
Default value is false.
Definition at line 1727 of file kfbxnode.h.
This property contains scaling information of the node.
To access this property do: Scaling.Get(). To set this property do: Scaling.Set(fbxDouble3).
Definition at line 1735 of file kfbxnode.h.
This property contains the min scaling limit information of the node.
To access this property do: ScalingMin.Get(). To set this property do: ScalingMin.Set(fbxDouble3).
Default value is 0.,0.,0.
Definition at line 1744 of file kfbxnode.h.
This property contains the max scaling limit information of the node.
To access this property do: ScalingMax.Get(). To set this property do: ScalingMax.Set(fbxDouble3).
Default value is 1.,1.,1.
Definition at line 1753 of file kfbxnode.h.
This property contains the flag which actives the x component of min scaling limit of the node.
To access this property do: ScalingMinX.Get(). To set this property do: ScalingMinX.Set(fbxBool1).
Default value is false.
Definition at line 1762 of file kfbxnode.h.
This property contains the flag which actives the y component of min scaling limit of the node.
To access this property do: ScalingMinY.Get(). To set this property do: ScalingMinY.Set(fbxBool1).
Default value is false.
Definition at line 1771 of file kfbxnode.h.
This property contains the flag which actives the z component of min scaling limit of the node.
To access this property do: ScalingMinZ.Get(). To set this property do: ScalingMinZ.Set(fbxBool1).
Default value is false.
Definition at line 1780 of file kfbxnode.h.
This property contains the flag which actives the x component of max scaling limit of the node.
To access this property do: ScalingMaxX.Get(). To set this property do: ScalingMaxX.Set(fbxBool1).
Default value is false.
Definition at line 1789 of file kfbxnode.h.
This property contains the flag which actives the y component of max scaling limit of the node.
To access this property do: ScalingMaxY.Get(). To set this property do: ScalingMaxY.Set(fbxBool1).
Default value is false.
Definition at line 1798 of file kfbxnode.h.
This property contains the flag which actives the z component of max scaling limit of the node.
To access this property do: ScalingMaxZ.Get(). To set this property do: ScalingMaxZ.Set(fbxBool1).
Default value is false.
Definition at line 1807 of file kfbxnode.h.
This property contains geometric translation information of the node.
To access this property do: GeometricTranslation.Get(). To set this property do: GeometricTranslation.Set(fbxDouble3).
Default value is 0.,0.,0.
Definition at line 1816 of file kfbxnode.h.
This property contains geometric rotation information of the node.
To access this property do: GeometricRotation.Get(). To set this property do: GeometricRotation.Set(fbxDouble3).
Default value is 0.,0.,0.
Definition at line 1825 of file kfbxnode.h.
This property contains geometric scaling information of the node.
To access this property do: GeometricScaling.Get(). To set this property do: GeometricScaling.Set(fbxDouble3).
Default value is 1.,1.,1.
Definition at line 1834 of file kfbxnode.h.
This property contains the x component of the minimum damp range angles of the node.
To access this property do: MinDampRangeX.Get(). To set this property do: MinDampRangeX.Set(fbxDouble1).
Default value is 0.
Definition at line 1846 of file kfbxnode.h.
This property contains the y component of the minimum damp range angles of the node.
To access this property do: MinDampRangeY.Get(). To set this property do: MinDampRangeY.Set(fbxDouble1).
Default value is 0.
Definition at line 1855 of file kfbxnode.h.
This property contains the z component of the minimum damp range angles of the node.
To access this property do: MinDampRangeZ.Get(). To set this property do: MinDampRangeZ.Set(fbxDouble1).
Default value is 0.
Definition at line 1864 of file kfbxnode.h.
This property contains the x component of the maximum damp range angles of the node.
To access this property do: MaxDampRangeX.Get(). To set this property do: MaxDampRangeX.Set(fbxDouble1).
Default value is 0.
Definition at line 1873 of file kfbxnode.h.
This property contains the y component of the maximum damp range angles of the node.
To access this property do: MaxDampRangeY.Get(). To set this property do: MaxDampRangeY.Set(fbxDouble1).
Default value is 0.
Definition at line 1882 of file kfbxnode.h.
This property contains the z component of the maximum damp range angles of the node.
To access this property do: MaxDampRangeZ.Get(). To set this property do: MaxDampRangeZ.Set(fbxDouble1).
Default value is 0.
Definition at line 1891 of file kfbxnode.h.
This property contains the x component of the minimum damp strength of the node.
To access this property do: MinDampStrengthX.Get(). To set this property do: MinDampStrengthX.Set(fbxDouble1).
Default value is 0.
Definition at line 1900 of file kfbxnode.h.
This property contains the y component of the minimum damp strength of the node.
To access this property do: MinDampStrengthY.Get(). To set this property do: MinDampStrengthY.Set(fbxDouble1).
Default value is 0.
Definition at line 1909 of file kfbxnode.h.
This property contains the z component of the minimum damp strength of the node.
To access this property do: MinDampStrengthZ.Get(). To set this property do: MinDampStrengthZ.Set(fbxDouble1).
Default value is 0.
Definition at line 1918 of file kfbxnode.h.
This property contains the x component of the maximum damp strength of the node.
To access this property do: MaxDampStrengthX.Get(). To set this property do: MaxDampStrengthX.Set(fbxDouble1).
Default value is 0.
Definition at line 1927 of file kfbxnode.h.
This property contains the y component of the maximum damp strength of the node.
To access this property do: MaxDampStrengthY.Get(). To set this property do: MaxDampStrengthY.Set(fbxDouble1).
Default value is 0.
Definition at line 1936 of file kfbxnode.h.
This property contains the z component of the maximum damp strength of the node.
To access this property do: MaxDampStrengthZ.Get(). To set this property do: MaxDampStrengthZ.Set(fbxDouble1).
Default value is 0.
Definition at line 1945 of file kfbxnode.h.
This property contains the x component of the preferred angle of the node.
To access this property do: PreferedAngleX.Get(). To set this property do: PreferedAngleX.Set(fbxDouble1).
Default value is 0.
Definition at line 1954 of file kfbxnode.h.
This property contains the y component of the preferred angle of the node.
To access this property do: PreferedAngleY.Get(). To set this property do: PreferedAngleY.Set(fbxDouble1).
Default value is 0.
Definition at line 1963 of file kfbxnode.h.
This property contains the z component of the preferred angle of the node.
To access this property do: PreferedAngleZ.Get(). To set this property do: PreferedAngleZ.Set(fbxDouble1).
Default value is 0.
Definition at line 1972 of file kfbxnode.h.
This property contains lookat property of the node.
To access this property do: LookAtProperty.Get(). To set this property do: LookAtProperty.Set(fbxReference*).
Definition at line 1981 of file kfbxnode.h.
This property contains the up vector property of the node.
To access this property do: UpVectorProperty.Get(). To set this property do: UpVectorProperty.Set(fbxReference*).
Definition at line 1989 of file kfbxnode.h.
This property contains the show information of the node.
As opposed to the Visibility property, this one cannot be animated. The assumed behavior of this property is to represent the show/hide state of all the nodes attributes connected to this node only.
To access this property do: Show.Get(). To set this property do: Show.Set(fbxBool1).
Default value is true.
false
, all
will be set to false
(basically it is an AND operation
on all the Show flags).Definition at line 2013 of file kfbxnode.h.
This property contains negative percent shape support information of the node.
To access this property do: NegativePercentShapeSupport.Get(). To set this property do: NegativePercentShapeSupport.Set(fbxBool1).
Default value is true.
Definition at line 2022 of file kfbxnode.h.
This property contains default attribute index information of the node.
To access this property do: DefaultAttributeIndex.Get(). To set this property do: DefaultAttributeIndex.Set(fbxInteger1).
Default value is -1.
Definition at line 2031 of file kfbxnode.h.
This property contains manipulation state information of the node.
To access this property do: Freeze.Get(). To set this property do: Freeze.Set(fbxBool1).
Default value is false.
Definition at line 2040 of file kfbxnode.h.
This property contains level of detail mode information of the node.
To access this property do: LODBox.Get(). To set this property do: LODBox.Set(fbxBool1).
True: Bounding box False: Geometry object is displayed. Default value is false.
Definition at line 2051 of file kfbxnode.h.
Definition at line 2191 of file kfbxnode.h.
bool mCorrectInheritType |
Definition at line 2193 of file kfbxnode.h.
KFbxNode_internal* mPH
[protected] |
Definition at line 2196 of file kfbxnode.h.
Definition at line 2197 of file kfbxnode.h.