FBX C++ API Reference
FbxNode Class Reference

#include <fbxnode.h>

Class Description

Represents an element in the scene graph.

A scene graph is a tree of FbxNode objects. The tree management services are self contained in this class.

Note
The FBX SDK does not test the validity of the constructed scene graph. It is the responsibility of the caller to make sure that it does not generate cyclic graphs in a node hierarchy.

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 FbxNode 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 FbxNode. This also means that the same node attribute can be shared among multiple nodes. FbxCamera, FbxLight, FbxMesh, etc... are all node attributes and they all derive from the base class FbxNodeAttribute.

Examples:
Camera/main.cxx, Common/GeometryUtility.cxx, Common/GeometryUtility.h, ExportDocument/main.cxx, ExportScene01/main.cxx, ExportScene02/main.cxx, ExportScene03/main.cxx, ExportScene04/main.cxx, ExportScene05/main.cxx, ExportShader/main.cxx, ImportScene/DisplayAnimation.cxx, ImportScene/DisplayAnimation.h, ImportScene/DisplayCamera.cxx, ImportScene/DisplayCamera.h, ImportScene/DisplayGenericInfo.cxx, ImportScene/DisplayHierarchy.cxx, ImportScene/DisplayHierarchy.h, ImportScene/DisplayLight.cxx, ImportScene/DisplayLight.h, ImportScene/DisplayLodGroup.cxx, ImportScene/DisplayLodGroup.h, ImportScene/DisplayMarker.cxx, ImportScene/DisplayMarker.h, ImportScene/DisplayMaterial.cxx, ImportScene/DisplayMesh.cxx, ImportScene/DisplayMesh.h, ImportScene/DisplayNurb.cxx, ImportScene/DisplayNurb.h, ImportScene/DisplayPatch.cxx, ImportScene/DisplayPatch.h, ImportScene/DisplayPivotsAndLimits.cxx, ImportScene/DisplayPivotsAndLimits.h, ImportScene/DisplaySkeleton.cxx, ImportScene/DisplaySkeleton.h, 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, UserProperties/main.cxx, UVSample/main.cxx, ViewScene/DrawScene.cxx, ViewScene/DrawScene.h, ViewScene/GetPosition.cxx, ViewScene/GetPosition.h, ViewScene/SceneContext.cxx, ViewScene/SceneContext.h, and ViewScene/SetCamera.cxx.

Definition at line 72 of file fbxnode.h.

+ Inheritance diagram for FbxNode:

Public Types

typedef FbxObject ParentClass
 
- Public Types inherited from FbxObject
typedef FbxEmitter ParentClass
 
enum  EObjectFlag {
  eNone = 0, eInitialized = 1 << 0, eSystem = 1 << 1, eSavable = 1 << 2,
  eSelected = 1 << 3, eHidden = 1 << 4, eContentLoaded = 1 << 5, eDontLocalize = 1 << 6,
  eCopyCalledByClone = 1 << 16
}
 Flags available to control objects. More...
 
enum  ECloneType { eDeepClone, eReferenceClone }
 Types of clones that can be created for FbxObject. More...
 

Public Member Functions

virtual FbxClassId GetClassId () const
 
bool GetAnimationInterval (FbxTimeSpan &pInterval, FbxAnimStack *pAnimStack=((void *) 0), int pAnimLayerId=0)
 Find out start and end time of the animation curves for this node (and its children). More...
 
Node Tree Management
FbxNodeGetParent ()
 Get the parent node. More...
 
const FbxNodeGetParent () const
 
bool AddChild (FbxNode *pNode)
 Add a child node and its underlying node tree. More...
 
FbxNodeRemoveChild (FbxNode *pNode)
 Remove the child node. More...
 
int GetChildCount (bool pRecursive=false) const
 Get the number of children nodes. More...
 
FbxNodeGetChild (int pIndex)
 Get child by index. More...
 
const FbxNodeGetChild (int pIndex) const
 Get child by index. More...
 
FbxNodeFindChild (const char *pName, bool pRecursive=true, bool pInitial=false)
 Finds a child node by name. More...
 
Node Target Management

The FbxNode 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 FbxNode 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.

Note
Objects in the FBX SDK are always created in the right handed, Y-Up system and need to be adjusted for any other axis system by explicitly convert them (the class FbxAxisSystem can help in that process).
void SetTarget (FbxNode *pNode)
 The target must be part of the same scene and it cannot be itself. More...
 
FbxNodeGetTarget () const
 Get the target for this node. More...
 
void SetPostTargetRotation (FbxVector4 pVector)
 Set rotation offset from default relative orientation to target. More...
 
FbxVector4 GetPostTargetRotation () const
 Get rotation offset from default relative orientation to target. More...
 
void SetTargetUp (FbxNode *pNode)
 The target up node must be part of the same scene and it cannot be itself. More...
 
FbxNodeGetTargetUp () const
 Get the target up node. More...
 
void SetTargetUpVector (FbxVector4 pVector)
 Set up vector offset from default relative target up vector. More...
 
FbxVector4 GetTargetUpVector () const
 Get up vector offset from default relative target up vector. More...
 
Node Attribute Management
FbxNodeAttributeSetNodeAttribute (FbxNodeAttribute *pNodeAttribute)
 Set the node attribute. More...
 
FbxNodeAttributeGetNodeAttribute ()
 Get the default node attribute. More...
 
const FbxNodeAttributeGetNodeAttribute () const
 Get the default node attribute. More...
 
int GetNodeAttributeCount () const
 Get the number of node attribute(s) connected to this node. More...
 
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. More...
 
bool SetDefaultNodeAttributeIndex (int pIndex, FbxStatus *pStatus=((void *) 0))
 Set index of the default node attribute. More...
 
FbxNodeAttributeGetNodeAttributeByIndex (int pIndex)
 Get the connected node attribute by specifying its index in the connection list. More...
 
const FbxNodeAttributeGetNodeAttributeByIndex (int pIndex) const
 Get the connected node attribute by specifying its index in the connection list. More...
 
int GetNodeAttributeIndex (FbxNodeAttribute *pNodeAttribute, FbxStatus *pStatus=((void *) 0)) const
 Get the connection index of the specified node attribute. More...
 
bool AddNodeAttribute (FbxNodeAttribute *pNodeAttribute, FbxStatus *pStatus=((void *) 0))
 Add the new node attribute to this node. More...
 
FbxNodeAttributeRemoveNodeAttribute (FbxNodeAttribute *pNodeAttribute)
 Remove the node attribute from the connection list of this node. More...
 
FbxNodeAttributeRemoveNodeAttributeByIndex (int pIndex)
 Remove the node attribute, specified by the connection index, from the connection list of this node. More...
 
FbxCachedEffectGetCachedEffect ()
 Get the default node attribute casted to a FbxCachedEffect pointer. More...
 
FbxLODGroup * GetLodGroup ()
 Get the default node attribute casted to a FbxLODGroup pointer. More...
 
FbxNullGetNull ()
 Get the default node attribute casted to a FbxNull pointer. More...
 
FbxMarkerGetMarker ()
 Get the node attribute casted to a FbxMarker pointer. More...
 
FbxSkeletonGetSkeleton ()
 Get the node attribute casted to a FbxSkeleton pointer. More...
 
FbxGeometryGetGeometry ()
 Get the node attribute casted to a FbxGeometry pointer. More...
 
FbxMeshGetMesh ()
 Get the node attribute casted to a FbxMesh pointer. More...
 
FbxNurbsGetNurbs ()
 Get the node attribute casted to a FbxNurbs pointer. More...
 
FbxNurbsSurfaceGetNurbsSurface ()
 Get the node attribute casted to a FbxNurbsSurface pointer. More...
 
FbxNurbsCurveGetNurbsCurve ()
 Get the node attribute casted to a FbxNurbsCurve pointer. More...
 
FbxLineGetLine ()
 Get the node attribute casted to a FbxLine pointer. More...
 
FbxTrimNurbsSurfaceGetTrimNurbsSurface ()
 Get the node attribute casted to a FbxTrimNurbsSurface pointer. More...
 
FbxSubDiv * GetSubdiv ()
 Get the node attribute casted to a FbxSubDiv pointer. More...
 
FbxPatchGetPatch ()
 Get the node attribute casted to a FbxPatch pointer. More...
 
FbxCameraGetCamera ()
 Get the node attribute casted to a FbxCamera pointer. More...
 
const FbxCameraGetCamera () const
 
FbxCameraStereoGetCameraStereo ()
 Get the node attribute casted to a FbxCameraStereo pointer. More...
 
FbxCameraSwitcherGetCameraSwitcher ()
 Get the node attribute casted to a FbxCameraSwitcher pointer. More...
 
FbxLightGetLight ()
 Get the node attribute casted to a FbxLight pointer. More...
 
const FbxLightGetLight () const
 
FbxOpticalReferenceGetOpticalReference ()
 Get the node attribute casted to a FbxOpticalReference pointer. More...
 
Transformation propagation

This set of functions provides direct access to the transformation propagations settings of the FbxNode.

These settings determine how transformations must be applied when evaluating a node's transformation matrix. The possible values are:

  • eInheritRrSs : Scaling of parent is applied in the child world after the local child rotation.
  • eInheritRSrs : Scaling of parent is applied in the parent world.
  • eInheritRrs : Scaling of parent does not affect the scaling of children.
void SetTransformationInheritType (FbxTransform::EInheritType pInheritType)
 Sets how child transforms are inherited from parent transforms. More...
 
void GetTransformationInheritType (FbxTransform::EInheritType &pInheritType) const
 Get transformation inherit type. More...
 
Node Evaluation Functions
FbxAnimEvaluatorGetAnimationEvaluator () const
 Retrieve the proper animation evaluator to use for this node. More...
 
FbxAMatrixEvaluateGlobalTransform (FbxTime pTime=FbxTime((0x7fffffffffffffffLL)), FbxNode::EPivotSet pPivotSet=FbxNode::eSourcePivot, bool pApplyTarget=false, bool pForceEval=false)
 Returns this node's global transformation matrix at the specified time. More...
 
FbxAMatrixEvaluateLocalTransform (FbxTime pTime=FbxTime((0x7fffffffffffffffLL)), FbxNode::EPivotSet pPivotSet=FbxNode::eSourcePivot, bool pApplyTarget=false, bool pForceEval=false)
 Returns this node's local transformation matrix at the specified time. More...
 
FbxVector4EvaluateLocalTranslation (FbxTime pTime=FbxTime((0x7fffffffffffffffLL)), FbxNode::EPivotSet pPivotSet=FbxNode::eSourcePivot, bool pApplyTarget=false, bool pForceEval=false)
 Returns this node's LclTranslation property at the specified time. More...
 
FbxVector4EvaluateLocalRotation (FbxTime pTime=FbxTime((0x7fffffffffffffffLL)), FbxNode::EPivotSet pPivotSet=FbxNode::eSourcePivot, bool pApplyTarget=false, bool pForceEval=false)
 Returns this node's LclRotation property at the specified time. More...
 
FbxVector4EvaluateLocalScaling (FbxTime pTime=FbxTime((0x7fffffffffffffffLL)), FbxNode::EPivotSet pPivotSet=FbxNode::eSourcePivot, bool pApplyTarget=false, bool pForceEval=false)
 Returns this node's LclScaling property at the specified time. More...
 
bool EvaluateGlobalBoundingBoxMinMaxCenter (FbxVector4 &pBBoxMin, FbxVector4 &pBBoxMax, FbxVector4 &pBBoxCenter, const FbxTime &pTime=FbxTime((0x7fffffffffffffffLL)))
 Compute the node's bounding box and its center in global coordinates. More...
 
bool EvaluateRayIntersectionPoint (FbxVector4 &pOut, const FbxVector4 &pRayOrigin, const FbxVector4 &pRayDir, bool pCulling=false, const FbxTime &pTime=FbxTime((0x7fffffffffffffffLL)))
 Compute closest ray intersection point with mesh attributes of this node (triangle meshes only!). More...
 
Character Link
int GetCharacterLinkCount () const
 Get number of character links. More...
 
bool GetCharacterLink (int pIndex, FbxCharacter **pCharacter, int *pCharacterLinkType, int *pNodeId, int *pNodeSubId)
 Get character link at given index. More...
 
int FindCharacterLink (FbxCharacter *pCharacter, int pCharacterLinkType, int pNodeId, int pNodeSubId) const
 Looks if the given character link exists on this node. More...
 
Material Management
int AddMaterial (FbxSurfaceMaterial *pMaterial)
 Add a material to this node. More...
 
bool RemoveMaterial (FbxSurfaceMaterial *pMaterial)
 Remove a material from this node. More...
 
int GetMaterialCount () const
 
FbxSurfaceMaterialGetMaterial (int pIndex) const
 Access a material on this node. More...
 
void RemoveAllMaterials ()
 Remove all materials applied to this node. More...
 
int GetMaterialIndex (const char *pName) const
 Find an applied material with the given name. More...
 
- Public Member Functions inherited from FbxObject
virtual void Compact ()
 Compact the memory used by this object. More...
 
template<class T >
bool Is () const
 Templated test if this class is a hierarchical children of the specified class type. More...
 
FbxManagerGetFbxManager () const
 Retrieve the FbxManager this object belongs to. More...
 
FbxDocumentGetDocument () const
 Returns a const pointer to the document that contains this object. More...
 
FbxDocumentGetRootDocument () const
 Returns a const pointer to the root document that contains this object. More...
 
FbxSceneGetScene () const
 Returns a const pointer to the scene that contains this object. More...
 
void Destroy (bool pRecursive=false)
 Unregister and delete this object from memory. More...
 
void ResetProperties ()
 Reset all the properties of this object to their default values. More...
 
virtual bool GetSelected ()
 Returns if this object is currently in a selected state. More...
 
virtual void SetSelected (bool pSelected)
 Sets whether this object is currently selected. More...
 
void SetUserDataPtr (const FbxUInt64 &pUserID, void *pUserData)
 Sets the data pointer for an user data record whose ID is pUserID. More...
 
void * GetUserDataPtr (const FbxUInt64 &pUserID) const
 Returns the data pointer of an user data record whose ID is pUserID. More...
 
void SetUserDataPtr (void *pUserData)
 Sets the data pointer for the user data record whose ID is the object ID. More...
 
void * GetUserDataPtr () const
 Returns the data pointer of the user data record whose ID is the object ID. More...
 
bool ConnectSrcObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone)
 Connects this object to a source object. More...
 
bool IsConnectedSrcObject (const FbxObject *pObject) const
 Judges whether this object connects with the source object. More...
 
bool DisconnectSrcObject (FbxObject *pObject)
 Disconnects this object from a source object. More...
 
bool DisconnectAllSrcObject ()
 Disconnects this object from all source objects. More...
 
bool DisconnectAllSrcObject (const FbxCriteria &pCriteria)
 Disconnects this object from all source objects that satisfy a given criteria. More...
 
int GetSrcObjectCount () const
 Returns the number of source objects with which this object connects. More...
 
int GetSrcObjectCount (const FbxCriteria &pCriteria) const
 Returns the number of source objects that satisfy the given criteria with which this object connects. More...
 
FbxObjectGetSrcObject (int pIndex=0) const
 Returns the source object with which this object connects at the specified index. More...
 
FbxObjectGetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const
 Returns the source object that satisfies the criteria at the specified index with which this object connects. More...
 
FbxObjectFindSrcObject (const char *pName, int pStartIndex=0) const
 Searches the source object with the specified name, starting at the specified index. More...
 
FbxObjectFindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
 Searches the source object with the specified name which satisfies the given criteria, starting at the specified index. More...
 
template<class T >
bool DisconnectAllSrcObject ()
 Disconnects this object from all source objects of the specified class type. More...
 
template<class T >
bool DisconnectAllSrcObject (const FbxCriteria &pCriteria)
 Disconnects this object from all source objects that are of the specified class type and that satisfy the given criteria. More...
 
template<class T >
int GetSrcObjectCount () const
 Returns the number of source objects of a specific class type with which this object connects. More...
 
template<class T >
int GetSrcObjectCount (const FbxCriteria &pCriteria) const
 Returns the number of source objects with which this object connects that are the specified class type and that satisfy the given criteria. More...
 
template<class T >
T * GetSrcObject (int pIndex=0) const
 Returns the source object of the specified class type at the specified index. More...
 
template<class T >
T * GetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const
 Returns the source object that is the specified class type and that satisfies the given criteria at the specified index. More...
 
template<class T >
T * FindSrcObject (const char *pName, int pStartIndex=0) const
 Searches the source object with the specified name that is the specified class type, starting at the specified index. More...
 
template<class T >
T * FindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
 Searches the source object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More...
 
bool ConnectDstObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone)
 Connects this object to one destination object. More...
 
bool IsConnectedDstObject (const FbxObject *pObject) const
 Judges whether this object connects with the destination object. More...
 
bool DisconnectDstObject (FbxObject *pObject)
 Disconnects this object from the destination object. More...
 
bool DisconnectAllDstObject ()
 Disconnects this object from all destination objects. More...
 
bool DisconnectAllDstObject (const FbxCriteria &pCriteria)
 Disconnects this object from all destination objects that satisfy given criteria. More...
 
int GetDstObjectCount () const
 Returns the number of destination objects with which this object connects. More...
 
int GetDstObjectCount (const FbxCriteria &pCriteria) const
 Returns the number of destination objects with which this object connects that satisfy the given criteria. More...
 
FbxObjectGetDstObject (int pIndex=0) const
 Returns the destination object at the specified index with which this object connects. More...
 
FbxObjectGetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const
 Returns the destination object with which this object connects that satisfies the given criteria at the specified index. More...
 
FbxObjectFindDstObject (const char *pName, int pStartIndex=0) const
 Searches the destination object with the specified name, starting at the specified index. More...
 
FbxObjectFindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
 Searches the destination object with the specified name which satisfies the given criteria, starting at the specified index. More...
 
template<class T >
bool DisconnectAllDstObject ()
 Disconnects this object from all destination objects of the specified class type. More...
 
template<class T >
bool DisconnectAllDstObject (const FbxCriteria &pCriteria)
 Disconnects this object from all destination objects that are the specified class type and that satisfy the given criteria. More...
 
template<class T >
int GetDstObjectCount () const
 Returns the number of destination objects of the specified class type with which this object connects. More...
 
template<class T >
int GetDstObjectCount (const FbxCriteria &pCriteria) const
 Returns the number of destination objects with which this object connects that are the specified class type and that satisfy the given criteria. More...
 
template<class T >
T * GetDstObject (int pIndex=0) const
 Returns the destination object with which this object connects that is the specified class type at the specified index. More...
 
template<class T >
T * GetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const
 Returns the destination object with which this object connects that is the specified class type and that satisfies the given criteria at the specified index. More...
 
template<class T >
T * FindDstObject (const char *pName, int pStartIndex=0) const
 Searches the destination object with the specified name which is of the specified class type, starting at the specified index. More...
 
template<class T >
T * FindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
 Searches the destination object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More...
 
FbxProperty GetFirstProperty () const
 Returns the first property of this object. More...
 
FbxProperty GetNextProperty (const FbxProperty &pProperty) const
 Returns the next property of this object that follows the specified property. More...
 
FbxProperty FindProperty (const char *pName, bool pCaseSensitive=true) const
 Searches a property by name. More...
 
FbxProperty FindProperty (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const
 Searches a property by name and data type. More...
 
FbxProperty FindPropertyHierarchical (const char *pName, bool pCaseSensitive=true) const
 Searches a property by full name. More...
 
FbxProperty FindPropertyHierarchical (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const
 Searches a property by full name and data type. More...
 
FbxProperty GetClassRootProperty ()
 Returns the class root property. More...
 
bool ConnectSrcProperty (const FbxProperty &pProperty)
 Connects this object to a source property. More...
 
bool IsConnectedSrcProperty (const FbxProperty &pProperty)
 Determines whether this object connects with the specified source property. More...
 
bool DisconnectSrcProperty (const FbxProperty &pProperty)
 Disconnects this object from the specified source property. More...
 
int GetSrcPropertyCount () const
 Returns the number of source properties with which this object connects. More...
 
FbxProperty GetSrcProperty (int pIndex=0) const
 Returns the source property at the specified index with which this object connects. More...
 
FbxProperty FindSrcProperty (const char *pName, int pStartIndex=0) const
 Searches a source property with which this object connects that has a specific name, starting at the specified index. More...
 
bool ConnectDstProperty (const FbxProperty &pProperty)
 Connects this object to a destination property. More...
 
bool IsConnectedDstProperty (const FbxProperty &pProperty)
 Determines if this object connects with the specified destination property. More...
 
bool DisconnectDstProperty (const FbxProperty &pProperty)
 Disconnects this object from the specified destination property. More...
 
int GetDstPropertyCount () const
 Returns the number of destination properties with which this object connects. More...
 
FbxProperty GetDstProperty (int pIndex=0) const
 Returns the destination property at the specified index with which this object connects. More...
 
FbxProperty FindDstProperty (const char *pName, int pStartIndex=0) const
 Searches a destination property with which this object connects that has a specific name, starting at the specified index. More...
 
int ContentUnload ()
 Unloads this object's content using the offload peripheral that is currently set in the document then flushes it from memory. More...
 
int ContentLoad ()
 Loads this object's content using the offload peripheral that is currently set in the document. More...
 
bool ContentIsLoaded () const
 Judges if this object's content is loaded. More...
 
void ContentDecrementLockCount ()
 Decreases the content lock count of an object. More...
 
void ContentIncrementLockCount ()
 Increases the content lock count of an object. More...
 
bool ContentIsLocked () const
 Judges if this object's content is locked. More...
 
virtual bool ContentWriteTo (FbxStream &pStream) const
 Writes the content of the object to the given stream. More...
 
virtual bool ContentReadFrom (const FbxStream &pStream)
 Reads the content of the object from the given stream. More...
 
void EmitMessage (FbxMessage *pMessage) const
 Emits a message in all available message emitters in the document or SDK manager. More...
 
virtual const char * Localize (const char *pID, const char *pDefault=((void *) 0)) const
 Localization helper function, it calls the implementation of FBX SDK manager. More...
 
FbxLibraryGetParentLibrary () const
 Returns a handle on the parent library of this object. More...
 
bool AddImplementation (FbxImplementation *pImplementation)
 Adds an implementation. More...
 
bool RemoveImplementation (FbxImplementation *pImplementation)
 Removes an implementation. More...
 
bool HasDefaultImplementation (void) const
 Determines if this shading node has a default implementation. More...
 
FbxImplementationGetDefaultImplementation (void) const
 Returns the default implementation of this shading node. More...
 
bool SetDefaultImplementation (FbxImplementation *pImplementation)
 Sets the default implementation of this shading node. More...
 
int GetImplementationCount (const FbxImplementationFilter *pCriteria=((void *) 0)) const
 Returns the number of implementations that satisfy a given criteria. More...
 
FbxImplementationGetImplementation (int pIndex, const FbxImplementationFilter *pCriteria=((void *) 0)) const
 Returns the implementation at the specified index that satisfies the given criteria. More...
 
virtual FbxString GetUrl () const
 Returns the URL of this object. More...
 
virtual bool SetUrl (char *pUrl)
 Sets the URL of this object. More...
 
void SetRuntimeClassId (const FbxClassId &pClassId)
 Set the run-time ClassId for this class. More...
 
FbxClassId GetRuntimeClassId () const
 Retrieve the run-time ClassId for this object. More...
 
bool IsRuntime (const FbxClassId &pClassId) const
 Test if this class is a hierarchical children of the specified class type. More...
 
bool IsRuntimePlug () const
 Find out if the ClassId was registered during run-time rather than at compile time. More...
 
void SetObjectFlags (EObjectFlag pFlags, bool pValue)
 Set the state of object flags. More...
 
bool GetObjectFlags (EObjectFlag pFlags) const
 Get the state of object flags. More...
 
void SetAllObjectFlags (FbxUInt pFlags)
 Override all object flags at once. More...
 
FbxUInt GetAllObjectFlags () const
 Get all object flags at once. More...
 
virtual FbxObjectCopy (const FbxObject &pObject)
 Copy an object content into this object. More...
 
virtual FbxObjectClone (FbxObject::ECloneType pCloneType=eDeepClone, FbxObject *pContainer=((void *) 0), void *pSet=((void *) 0)) const
 Creates a clone of this object. More...
 
bool IsAReferenceTo () const
 Checks if this object is a reference clone of another object. More...
 
FbxObjectGetReferenceTo () const
 If this object is a reference clone, returns the original object (from which the clone originates). More...
 
bool IsReferencedBy () const
 Checks if any objects are reference cloned from this object. More...
 
int GetReferencedByCount () const
 Returns the number of objects that are reference clones of this object. More...
 
FbxObjectGetReferencedBy (int pIndex) const
 Returns a reference clone of this object at the specified index. More...
 
void SetName (const char *pName)
 Sets the name of this object. More...
 
const char * GetName () const
 Returns the full name of this object. More...
 
FbxString GetNameWithoutNameSpacePrefix () const
 Returns the name of the object without the namespace qualifier. More...
 
FbxString GetNameWithNameSpacePrefix () const
 Returns the name of the object with the namespace qualifier. More...
 
void SetInitialName (const char *pName)
 Sets the initial name of the object. More...
 
const char * GetInitialName () const
 Returns the initial name of the object. More...
 
FbxString GetNameSpaceOnly ()
 Returns the namespace of the object. More...
 
void SetNameSpace (FbxString pNameSpace)
 Sets the namespace of the object. More...
 
FbxArray< FbxString * > GetNameSpaceArray (char identifier)
 Returns an array of all the namespaces for this object. More...
 
FbxString GetNameOnly () const
 Returns only the name (no namespace or prefix) of the object. More...
 
FbxString GetNameSpacePrefix () const
 Returns the namespace qualifier. More...
 
const FbxUInt64GetUniqueID () const
 Returns the unique ID of this object. More...
 
- Public Member Functions inherited from FbxEmitter
void AddListener (FbxEventHandler &pHandler)
 Add the specified event handler to current emitter list. More...
 
void RemoveListener (FbxEventHandler &pHandler)
 Remove the specified event handler from current emitter list. More...
 
template<typename EventType >
void Emit (const EventType &pEvent) const
 Emit an event with the specified the event type. More...
 

Static Public Member Functions

static FbxNodeCreate (FbxManager *pManager, const char *pName)
 
static FbxNodeCreate (FbxObject *pContainer, const char *pName)
 
- Static Public Member Functions inherited from FbxObject
static FbxObjectCreate (FbxManager *pManager, const char *pName)
 
static FbxObjectCreate (FbxObject *pContainer, const char *pName)
 
static FbxString RemovePrefix (char *pName)
 Removes the prefix of pName. More...
 
static FbxString StripPrefix (FbxString &lName)
 Strips the prefix of pName. More...
 
static FbxString StripPrefix (const char *pName)
 Strips the prefix of pName. More...
 

Public Attributes

Public and fast access Properties
FbxPropertyT< FbxDouble3LclTranslation
 This property contains the translation information of the node. More...
 
FbxPropertyT< FbxDouble3LclRotation
 This property contains the rotation information of the node. More...
 
FbxPropertyT< FbxDouble3LclScaling
 This property contains the scaling information of the node. More...
 
FbxPropertyT< FbxDoubleVisibility
 This property contains the visibility information of the node. More...
 
FbxPropertyT< FbxBoolVisibilityInheritance
 This property contains the visibility inheritance flag that allow applications to modify the Visibility property interpretation. More...
 
FbxPropertyT< EFbxQuatInterpModeQuaternionInterpolate
 This property contains the quaternion interpolate flag of the node. More...
 
FbxPropertyT< FbxDouble3RotationOffset
 This property contains the rotation offset information of the node. More...
 
FbxPropertyT< FbxDouble3RotationPivot
 This property contains the rotation pivot information of the node. More...
 
FbxPropertyT< FbxDouble3ScalingOffset
 This property contains the scaling offset information of the node. More...
 
FbxPropertyT< FbxDouble3ScalingPivot
 This property contains the scaling pivot information of the node. More...
 
FbxPropertyT< FbxBoolTranslationActive
 This property enables or disables the limit on translation. More...
 
FbxPropertyT< FbxDouble3TranslationMin
 This property sets the minimum translation values the object can occupy on each individual axis. More...
 
FbxPropertyT< FbxDouble3TranslationMax
 This property sets the maximum translation values the object can occupy on each individual axis. More...
 
FbxPropertyT< FbxBoolTranslationMinX
 This property enables or disables the limit on translation X. More...
 
FbxPropertyT< FbxBoolTranslationMinY
 This property enables or disables the limit on translation Y. More...
 
FbxPropertyT< FbxBoolTranslationMinZ
 This property enables or disables the limit on translation Z. More...
 
FbxPropertyT< FbxBoolTranslationMaxX
 This property enables or disables the limit on translation X. More...
 
FbxPropertyT< FbxBoolTranslationMaxY
 This property enables or disables the limit on translation Y. More...
 
FbxPropertyT< FbxBoolTranslationMaxZ
 This property enables or disables the limit on translation Z. More...
 
FbxPropertyT< FbxEuler::EOrderRotationOrder
 This property contains the rotation order information of the node. More...
 
FbxPropertyT< FbxBoolRotationSpaceForLimitOnly
 This property contains the rotation space for limit only flag of the node. More...
 
FbxPropertyT< FbxDoubleRotationStiffnessX
 This property contains the x value of the rotation stiffness of the node. More...
 
FbxPropertyT< FbxDoubleRotationStiffnessY
 This property contains the y value of the rotation stiffness of the node. More...
 
FbxPropertyT< FbxDoubleRotationStiffnessZ
 This property contains the z value of the rotation stiffness of the node. More...
 
FbxPropertyT< FbxDoubleAxisLen
 This property contains axis length information of the node. More...
 
FbxPropertyT< FbxDouble3PreRotation
 This property contains pre-rotation information of the node. More...
 
FbxPropertyT< FbxDouble3PostRotation
 This property contains post-rotation information of the node. More...
 
FbxPropertyT< FbxBoolRotationActive
 This property enables or disables the limit on rotation. More...
 
FbxPropertyT< FbxDouble3RotationMin
 This property sets the minimum rotation values the object can occupy on each individual axis. More...
 
FbxPropertyT< FbxDouble3RotationMax
 This property sets the maximum rotation values the object can occupy on each individual axis. More...
 
FbxPropertyT< FbxBoolRotationMinX
 This property enables or disables the limit on rotation X. More...
 
FbxPropertyT< FbxBoolRotationMinY
 This property enables or disables the limit on rotation Y. More...
 
FbxPropertyT< FbxBoolRotationMinZ
 This property enables or disables the limit on rotation Z. More...
 
FbxPropertyT< FbxBoolRotationMaxX
 This property enables or disables the limit on rotation X. More...
 
FbxPropertyT< FbxBoolRotationMaxY
 This property enables or disables the limit on rotation Y. More...
 
FbxPropertyT< FbxBoolRotationMaxZ
 This property enables or disables the limit on rotation Z. More...
 
FbxPropertyT< FbxTransform::EInheritTypeInheritType
 This property contains inherit type information of the node. More...
 
FbxPropertyT< FbxBoolScalingActive
 This property enables or disables the limit on scaling. More...
 
FbxPropertyT< FbxDouble3ScalingMin
 This property sets the minimum scaling values the object can occupy on each individual axis. More...
 
FbxPropertyT< FbxDouble3ScalingMax
 This property sets the maximum scaling values the object can occupy on each individual axis. More...
 
FbxPropertyT< FbxBoolScalingMinX
 This property activates or disables the limit on scaling X. More...
 
FbxPropertyT< FbxBoolScalingMinY
 This property enables or disables the limit on scaling Y. More...
 
FbxPropertyT< FbxBoolScalingMinZ
 This property enables or disables the limit on scaling Z. More...
 
FbxPropertyT< FbxBoolScalingMaxX
 This property enables or disables the limit on scaling X. More...
 
FbxPropertyT< FbxBoolScalingMaxY
 This property enables or disables the limit on scaling Y. More...
 
FbxPropertyT< FbxBoolScalingMaxZ
 This property enables or disables the limit on scaling Z. More...
 
FbxPropertyT< FbxDouble3GeometricTranslation
 This property contains geometric translation information of the node. More...
 
FbxPropertyT< FbxDouble3GeometricRotation
 This property contains geometric rotation information of the node. More...
 
FbxPropertyT< FbxDouble3GeometricScaling
 This property contains geometric scaling information of the node. More...
 
FbxPropertyT< FbxDoubleMinDampRangeX
 This property contains the x component of the minimum damp range angles of the node. More...
 
FbxPropertyT< FbxDoubleMinDampRangeY
 This property contains the y component of the minimum damp range angles of the node. More...
 
FbxPropertyT< FbxDoubleMinDampRangeZ
 This property contains the z component of the minimum damp range angles of the node. More...
 
FbxPropertyT< FbxDoubleMaxDampRangeX
 This property contains the x component of the maximum damp range angles of the node. More...
 
FbxPropertyT< FbxDoubleMaxDampRangeY
 This property contains the y component of the maximum damp range angles of the node. More...
 
FbxPropertyT< FbxDoubleMaxDampRangeZ
 This property contains the z component of the maximum damp range angles of the node. More...
 
FbxPropertyT< FbxDoubleMinDampStrengthX
 This property contains the x component of the minimum damp strength of the node. More...
 
FbxPropertyT< FbxDoubleMinDampStrengthY
 This property contains the y component of the minimum damp strength of the node. More...
 
FbxPropertyT< FbxDoubleMinDampStrengthZ
 This property contains the z component of the minimum damp strength of the node. More...
 
FbxPropertyT< FbxDoubleMaxDampStrengthX
 This property contains the x component of the maximum damp strength of the node. More...
 
FbxPropertyT< FbxDoubleMaxDampStrengthY
 This property contains the y component of the maximum damp strength of the node. More...
 
FbxPropertyT< FbxDoubleMaxDampStrengthZ
 This property contains the z component of the maximum damp strength of the node. More...
 
FbxPropertyT< FbxDoublePreferedAngleX
 This property contains the x component of the preferred angle of the node. More...
 
FbxPropertyT< FbxDoublePreferedAngleY
 This property contains the y component of the preferred angle of the node. More...
 
FbxPropertyT< FbxDoublePreferedAngleZ
 This property contains the z component of the preferred angle of the node. More...
 
FbxPropertyT< FbxReferenceLookAtProperty
 This property contains lookat property of the node. More...
 
FbxPropertyT< FbxReferenceUpVectorProperty
 This property contains the up vector property of the node. More...
 
FbxPropertyT< FbxBoolShow
 This property contains the show information of the node. More...
 
FbxPropertyT< FbxBoolNegativePercentShapeSupport
 This property contains negative percent shape support information of the node. More...
 
FbxPropertyT< FbxIntDefaultAttributeIndex
 This property contains default attribute index information of the node. More...
 
FbxPropertyT< FbxBoolFreeze
 This property contains manipulation state information of the node. More...
 
FbxPropertyT< FbxBoolLODBox
 This property contains level of detail mode information of the node. More...
 
- Public Attributes inherited from FbxObject
FbxProperty RootProperty
 The root property that holds all children property for this object. More...
 

Static Public Attributes

static FbxClassId ClassId
 
- Static Public Attributes inherited from FbxObject
static FbxClassId ClassId
 

Protected Member Functions

virtual ~ FbxNode ()
 
 FbxNode (FbxManager &pManager, const char *pName)
 
- Protected Member Functions inherited from FbxObject
virtual ~ FbxObject ()
 
virtual void Construct (const FbxObject *pFrom)
 Optional constructor override, automatically called by default constructor. More...
 
virtual void ConstructProperties (bool pForceSet)
 Optional property constructor override, automatically called by default constructor. More...
 
virtual void Destruct (bool pRecursive)
 Optional destructor override, automatically called by default destructor. More...
 
virtual void ContentClear ()
 Clears this object's content from memory. More...
 
virtual FbxPeripheralGetPeripheral ()
 Retrieves the peripheral of that object. More...
 

Static Protected Member Functions

static FbxNodeAllocate (FbxManager *pManager, const char *pName, const FbxNode *pFrom)
 
- Static Protected Member Functions inherited from FbxObject
static FbxObjectAllocate (FbxManager *pManager, const char *pName, const FbxObject *pFrom)
 

Friends

class fbxsdk ::FbxManager
 
template<typename T >
T * fbxsdk ::FbxNew ()
 
template<typename T , typename T1 >
T * fbxsdk ::FbxNew (T1 &p1)
 
template<typename T , typename T1 >
T * fbxsdk ::FbxNew (const T1 &p1)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, const T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, const T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7, const T8 &p8)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7, const T8 &p8, const T9 &p9)
 
template<typename T >
void fbxsdk ::FbxDelete (T *p)
 
template<typename T >
void fbxsdk ::FbxDelete (const T *p)
 
template<typename T >
T * fbxsdk ::FbxNewArray (const int n)
 
template<typename T >
void fbxsdk ::FbxDeleteArray (T *p)
 

Node Display Parameters

enum  EShadingMode {
  eHardShading, eWireFrame, eFlatShading, eLightShading,
  eTextureShading, eFullShading
}
 Shading modes. More...
 
void SetVisibility (bool pIsVisible)
 Set the node Visibility value from the boolean parameter. More...
 
bool GetVisibility () const
 Get the current value of the Visibility property. More...
 
void SetShadingMode (EShadingMode pShadingMode)
 Set the shading mode. More...
 
EShadingMode GetShadingMode () const
 Get the shading mode. More...
 

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 FbxVector4) 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 geometric transformation (Gt * Gr * Gs) is applied only to the node attribute and after the node transformations. This transformation is not inherited across the node hierarchy.

Note
Please refer to the FBX SDK programmers guide for more details.

The application of the pivots is performed by calling the method ConvertPivotAnimation(). Typically, you set-up the eDestinationPivot 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().

FbxVector4 lZero(0,0,0);
FbxVector4 lOne(1,1,1);
EFbxRotationOrder lRotationOrder;
pNode->GetRotationOrder(FbxNode::eSourcePivot , lRotationOrder);
pNode->SetRotationOrder(FbxNode::eDestinationPivot , lRotationOrder);
//For cameras and lights (without targets) let's compensate the postrotation.
if( pNode->GetCamera() || pNode->GetLight() )
{
if( !pNode->GetTarget() )
{
FbxVector4 lRV(90, 0, 0);
if( pNode->GetCamera() )
lRV.Set(0, 90, 0);
FbxVector4 prV = pNode->GetPostRotation(FbxNode::eSourcePivot);
FbxAMatrix lSourceR;
FbxAMatrix lR(lZero, lRV, lOne);
FbxVector4 res = prV;
// Rotation order don't affect post rotation, so just use the default XYZ order
rOrder.V2M(lSourceR, res);
lR = lSourceR * lR;
rOrder.M2V(res, lR);
prV = res;
pNode->SetPostRotation(FbxNode::eSourcePivot, prV);
pNode->SetRotationActive(true);
}
// Point light do not need to be adjusted (since they radiate in all the directions).
if( pNode->GetLight() && pNode->GetLight()->LightType.Get() == FbxLight::ePoint )
{
pNode->SetPostRotation(FbxNode::eSourcePivot, FbxVector4(0,0,0,0));
}
}
// apply Pre rotations only on bones / end of chains
if( pNode->GetNodeAttribute() && pNode->GetNodeAttribute()->GetAttributeType() == FbxNodeAttribute::eSkeleton
|| (pNode->GetMarker() && pNode->GetMarker()->GetType() == FbxMarker::eEffectorFK)
|| (pNode->GetMarker() && pNode->GetMarker()->GetType() == FbxMarker::eEffectorIK) )
{
if( pNode->GetRotationActive() )
{
pNode->SetPreRotation(FbxNode::eDestinationPivot, pNode->GetPreRotation(FbxNode::eSourcePivot));
}
// No pivots on bones
pNode->SetRotationPivot(FbxNode::eDestinationPivot, lZero);
pNode->SetScalingPivot(FbxNode::eDestinationPivot, lZero);
pNode->SetRotationOffset(FbxNode::eDestinationPivot,lZero);
pNode->SetScalingOffset(FbxNode::eDestinationPivot, lZero);
}
else
{
// any other type: no pre-rotation support but...
pNode->SetPreRotation(FbxNode::eDestinationPivot, lZero);
// support for rotation and scaling pivots.
pNode->SetRotationPivot(FbxNode::eDestinationPivot, pNode->GetRotationPivot(FbxNode::eSourcePivot));
pNode->SetScalingPivot(FbxNode::eDestinationPivot, pNode->GetScalingPivot(FbxNode::eSourcePivot));
// Rotation and scaling offset are supported
pNode->SetRotationOffset(FbxNode::eDestinationPivot, pNode->GetRotationOffset(FbxNode::eSourcePivot));
pNode->SetScalingOffset(FbxNode::eDestinationPivot, pNode->GetScalingOffset(FbxNode::eSourcePivot));
//
// If we don't "support" scaling pivots, we can simply do:
// pNode->SetRotationPivot(FbxNode::eDestinationPivot, lZero);
// pNode->SetScalingPivot(FbxNode::eDestinationPivot, lZero);
}
enum  EPivotSet { eSourcePivot, eDestinationPivot }
 Pivot context identifier. More...
 
enum  EPivotState { ePivotActive, ePivotReference }
 Pivot context state. More...
 
void SetPivotState (EPivotSet pPivotSet, EPivotState pPivotState)
 Change the state of the pivot context. More...
 
void GetPivotState (EPivotSet pPivotSet, EPivotState &pPivotState) const
 Get the pivot context state. More...
 
void SetRotationOrder (EPivotSet pPivotSet, FbxEuler::EOrder pRotationOrder)
 Set rotation space Determine the rotation space (Euler or Spheric) and the rotation order. More...
 
void GetRotationOrder (EPivotSet pPivotSet, FbxEuler::EOrder &pRotationOrder) const
 Get rotation order. More...
 
void SetUseRotationSpaceForLimitOnly (EPivotSet pPivotSet, bool pUseForLimitOnly)
 Set rotation space for limit only. More...
 
bool GetUseRotationSpaceForLimitOnly (EPivotSet pPivotSet) const
 Get rotation space for limit only. More...
 
void SetRotationActive (bool pVal)
 Set the RotationActive state. More...
 
bool GetRotationActive () const
 Get the RotationActive state. More...
 
void SetQuaternionInterpolation (EPivotSet pPivotSet, EFbxQuatInterpMode pQuatIterp)
 Specify which Quaternion interpolation mode is used on the pivot context. More...
 
EFbxQuatInterpMode GetQuaternionInterpolation (EPivotSet pPivotSet) const
 Get the Quaternion interpolation mode of the pivot context. More...
 
void SetRotationStiffness (FbxVector4 pRotationStiffness)
 Set the rotation stiffness. More...
 
FbxVector4 GetRotationStiffness () const
 Get the rotation stiffness. More...
 
void SetMinDampRange (FbxVector4 pMinDampRange)
 Set the minimum damp range angles. More...
 
FbxVector4 GetMinDampRange () const
 Get the minimum damp range angles. More...
 
void SetMaxDampRange (FbxVector4 pMaxDampRange)
 Set the maximum damp range angles. More...
 
FbxVector4 GetMaxDampRange () const
 Get the maximum damp range angles. More...
 
void SetMinDampStrength (FbxVector4 pMinDampStrength)
 Set the minimum damp strength. More...
 
FbxVector4 GetMinDampStrength () const
 Get the minimum damp strength. More...
 
void SetMaxDampStrength (FbxVector4 pMaxDampStrength)
 Set the maximum damp strength. More...
 
FbxVector4 GetMaxDampStrength () const
 Get the maximum damp strength. More...
 
void SetPreferedAngle (FbxVector4 pPreferedAngle)
 Set the preferred angle. More...
 
FbxVector4 GetPreferedAngle () const
 Get the preferred angle. More...
 
void SetRotationOffset (EPivotSet pPivotSet, FbxVector4 pVector)
 Set a translation offset for the rotation pivot. More...
 
const FbxVector4GetRotationOffset (EPivotSet pPivotSet) const
 Get the translation offset for the rotation pivot. More...
 
void SetRotationPivot (EPivotSet pPivotSet, FbxVector4 pVector)
 Set rotation pivot. More...
 
const FbxVector4GetRotationPivot (EPivotSet pPivotSet) const
 Get rotation pivot. More...
 
void SetPreRotation (EPivotSet pPivotSet, FbxVector4 pVector)
 Set pre-rotation in Euler angles. More...
 
const FbxVector4GetPreRotation (EPivotSet pPivotSet) const
 Get pre-rotation in Euler angles. More...
 
void SetPostRotation (EPivotSet pPivotSet, FbxVector4 pVector)
 Set post-rotation in Euler angles. More...
 
const FbxVector4GetPostRotation (EPivotSet pPivotSet) const
 Get post-rotation in Euler angles. More...
 
void SetScalingOffset (EPivotSet pPivotSet, FbxVector4 pVector)
 Set a translation offset for the scaling pivot. More...
 
const FbxVector4GetScalingOffset (EPivotSet pPivotSet) const
 Get the translation offset for the scaling pivot. More...
 
void SetScalingPivot (EPivotSet pPivotSet, FbxVector4 pVector)
 Set scaling pivot. More...
 
const FbxVector4GetScalingPivot (EPivotSet pPivotSet) const
 Get scaling pivot. More...
 
void SetGeometricTranslation (EPivotSet pPivotSet, FbxVector4 pVector)
 Set geometric translation The geometric translation is a local translation that is applied to a node attribute only. More...
 
FbxVector4 GetGeometricTranslation (EPivotSet pPivotSet) const
 Get geometric translation. More...
 
void SetGeometricRotation (EPivotSet pPivotSet, FbxVector4 pVector)
 Set geometric rotation The geometric rotation is a local rotation that is applied to a node attribute only. More...
 
FbxVector4 GetGeometricRotation (EPivotSet pPivotSet) const
 Get geometric rotation. More...
 
void SetGeometricScaling (EPivotSet pPivotSet, FbxVector4 pVector)
 Set geometric scaling The geometric scaling is a local scaling that is applied to a node attribute only. More...
 
FbxVector4 GetGeometricScaling (EPivotSet pPivotSet) const
 Get geometric scaling. More...
 
void ResetPivotSet (FbxNode::EPivotSet pPivotSet)
 Reset a pivot set to the default pivot context. More...
 
void ConvertPivotAnimationRecursive (FbxAnimStack *pAnimStack, EPivotSet pConversionTarget, double pFrameRate, bool pKeyReduce=true)
 This version is an improved version of the ConvertPivotAnimation(). More...
 
void ResetPivotSetAndConvertAnimation (double pFrameRate=30.0, bool pKeyReduce=false, bool pToNodeCenter=true, bool pForceResetLimits=false)
 Reset all the pivot sets to the default pivot context and convert the animation. More...
 
void SetRotationPivotAsCenterRecursive (FbxVector4 pParentGeometricOffset=FbxVector4())
 Set rotation pivot as node center recursively. More...
 

Member Typedef Documentation

◆ ParentClass

Definition at line 74 of file fbxnode.h.

Member Enumeration Documentation

◆ 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:

Enumerator
eHardShading 

Solid geometries rendered with smooth surfaces - using the system light.

eWireFrame 

Geometries displayed in wire frame.

eFlatShading 

Solid geometries rendered faceted - using the system light.

eLightShading 

Solid geometries rendered with the scene lights.

eTextureShading 

Solid geometries rendered with smooth textured surfaces - using system light.

eFullShading 

Solid geometries rendered with smooth textured surfaces and scene lights.

Definition at line 227 of file fbxnode.h.

228  {
229  eHardShading,
230  eWireFrame,
231  eFlatShading,
232  eLightShading,
234  eFullShading
235  };
Solid geometries rendered with the scene lights.
Definition: fbxnode.h:232
Solid geometries rendered with smooth textured surfaces and scene lights.
Definition: fbxnode.h:234
Solid geometries rendered faceted - using the system light.
Definition: fbxnode.h:231
Solid geometries rendered with smooth textured surfaces - using system light.
Definition: fbxnode.h:233
Solid geometries rendered with smooth surfaces - using the system light.
Definition: fbxnode.h:229
Geometries displayed in wire frame.
Definition: fbxnode.h:230

◆ EPivotSet

enum EPivotSet

Pivot context identifier.

Enumerator
eSourcePivot 

The source pivot context.

eDestinationPivot 

The destination pivot context.

Definition at line 653 of file fbxnode.h.

654  {
655  eSourcePivot,
657  };
The source pivot context.
Definition: fbxnode.h:655
The destination pivot context.
Definition: fbxnode.h:656

◆ EPivotState

Pivot context state.

Enumerator
ePivotActive 

The pivot context with this state is affecting the node's transform computation.

ePivotReference 

The pivot context with this state is not used during the node transform computation but can be accessed for reference purposes.

Definition at line 661 of file fbxnode.h.

662  {
663  ePivotActive,
665  };
The pivot context with this state is not used during the node transform computation but can be access...
Definition: fbxnode.h:664
The pivot context with this state is affecting the node&#39;s transform computation.
Definition: fbxnode.h:663

Constructor & Destructor Documentation

◆ ~ FbxNode()

virtual ~ FbxNode ( )
inlineprotectedvirtual

Definition at line 74 of file fbxnode.h.

76 :

◆ FbxNode()

FbxNode ( FbxManager pManager,
const char *  pName 
)
inlineprotected

Definition at line 74 of file fbxnode.h.

76 :

Member Function Documentation

◆ GetClassId()

virtual FbxClassId GetClassId ( ) const
inlinevirtual

Reimplemented from FbxObject.

Definition at line 74 of file fbxnode.h.

76 :

◆ Create() [1/2]

◆ Create() [2/2]

static FbxNode* Create ( FbxObject pContainer,
const char *  pName 
)
static

◆ Allocate()

static FbxNode* Allocate ( FbxManager pManager,
const char *  pName,
const FbxNode pFrom 
)
staticprotected

◆ GetParent() [1/2]

FbxNode* GetParent ( )

Get the parent node.

Returns
Pointer to parent node or NULL if the current node has no parent.
Examples:
ExportScene01/main.cxx, ExportScene05/main.cxx, Transformations/main.cxx, ViewScene/DrawScene.cxx, and ViewScene/GetPosition.cxx.

◆ GetParent() [2/2]

const FbxNode* GetParent ( ) const

◆ AddChild()

bool AddChild ( FbxNode pNode)

Add a child node and its underlying node tree.

Parameters
pNodeNode we want to make child of this.
Returns
true on success, false if pNode is NULL or the system is unable to make the connection.
Remarks
If pNode already has a parent, first it is removed from current parent and then added to this one.
Examples:
Common/GeometryUtility.cxx, ExportScene01/main.cxx, ExportScene02/main.cxx, ExportScene03/main.cxx, ExportScene04/main.cxx, ExportScene05/main.cxx, ExportShader/main.cxx, Instances/main.cxx, Layers/main.cxx, MyOwnWriterReader/MyOwnReader.cxx, ProceduralTexture/main.cxx, and UserProperties/main.cxx.

◆ RemoveChild()

FbxNode* RemoveChild ( FbxNode pNode)

Remove the child node.

Parameters
pNodeThe child node to be removed.
Returns
The removed child node.

◆ GetChildCount()

int GetChildCount ( bool  pRecursive = false) const

◆ GetChild() [1/2]

◆ GetChild() [2/2]

const FbxNode* GetChild ( int  pIndex) const

Get child by index.

Parameters
pIndexThe child index.
Returns
Child node or NULL if pIndex is out of range (i.e: < 0 or > GetChildCount()).

◆ FindChild()

FbxNode* FindChild ( const char *  pName,
bool  pRecursive = true,
bool  pInitial = false 
)

Finds a child node by name.

Parameters
pNameName of the searched child node.
pRecursiveFlag to request recursive calls.
pInitialIf set to true, the search compares the initial name of the node (see the FbxObject class)
Returns
Found child node or NULL if no child node with this name exists.
Examples:
MyOwnWriterReader/MyOwnReader.cxx.

◆ SetTarget()

void SetTarget ( FbxNode pNode)

The target must be part of the same scene and it cannot be itself.

Parameters
pNodeThe target.
Examples:
ExportScene04/main.cxx.

◆ GetTarget()

FbxNode* GetTarget ( ) const

Get the target for this node.

Returns
NULL if target isn't set.
Examples:
ImportScene/DisplayCamera.cxx, ImportScene/main.cxx, ViewScene/DrawScene.cxx, and ViewScene/SetCamera.cxx.

◆ SetPostTargetRotation()

void SetPostTargetRotation ( FbxVector4  pVector)

Set rotation offset from default relative orientation to target.

Parameters
pVectorThe rotation offset.

◆ GetPostTargetRotation()

FbxVector4 GetPostTargetRotation ( ) const

Get rotation offset from default relative orientation to target.

Returns
The rotation offset.

◆ SetTargetUp()

void SetTargetUp ( FbxNode pNode)

The target up node must be part of the same scene and it cannot be itself.

Parameters
pNodeThe target.

◆ GetTargetUp()

FbxNode* GetTargetUp ( ) const

Get the target up node.

Returns
NULL if the target up model isn't set.
Examples:
ImportScene/DisplayCamera.cxx.

◆ SetTargetUpVector()

void SetTargetUpVector ( FbxVector4  pVector)

Set up vector offset from default relative target up vector.

Parameters
pVectorThe rotation offset.

◆ GetTargetUpVector()

FbxVector4 GetTargetUpVector ( ) const

Get up vector offset from default relative target up vector.

Returns
The up vector offset.

◆ SetVisibility()

void SetVisibility ( bool  pIsVisible)

Set the node Visibility value from the boolean parameter.

Parameters
pIsVisibleNode is visible in the scene if set to true.
Remarks
This method checks for the validity of the property before attempting to set its value. In fact, the exact same result can be achieved by the following code:
{
Visibility.Set(FbxDouble(pIsVisible));
}
See also
Visibility property.

◆ GetVisibility()

bool GetVisibility ( ) const

Get the current value of the Visibility property.

Returns
false if the Visibility property value is 0.0 and true for any other value.
Remarks
This method expects the Visibility property to exist and to be valid. If this condition is not met, the returned value will be false.

◆ SetShadingMode()

void SetShadingMode ( EShadingMode  pShadingMode)

◆ GetShadingMode()

EShadingMode GetShadingMode ( ) const

Get the shading mode.

Returns
The currently set shading mode.

◆ SetNodeAttribute()

FbxNodeAttribute* SetNodeAttribute ( FbxNodeAttribute pNodeAttribute)

Set the node attribute.

Parameters
pNodeAttributeNode attribute object
Returns
Pointer to previous 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.
Remarks
A node attribute can be shared between nodes.
If this node has more than one attribute (added via the AddAttribute() method), this call will destroy all, but the default node attribute.
Examples:
Camera/main.cxx, Common/GeometryUtility.cxx, ExportDocument/main.cxx, ExportScene01/main.cxx, ExportScene02/main.cxx, ExportScene03/main.cxx, ExportScene04/main.cxx, ExportScene05/main.cxx, Instances/main.cxx, Layers/main.cxx, MyOwnWriterReader/MyOwnReader.cxx, ProceduralTexture/main.cxx, StereoCamera/main.cxx, and UserProperties/main.cxx.

◆ GetNodeAttribute() [1/2]

◆ GetNodeAttribute() [2/2]

const FbxNodeAttribute* GetNodeAttribute ( ) const

Get the default node attribute.

The default node attribute is the attribute that has been set by the call to SetNodeAttribute(...).

Returns
Pointer to the default node attribute or NULL if the node doesn't have a node attribute.

◆ GetNodeAttributeCount()

int GetNodeAttributeCount ( ) const

Get the number of node attribute(s) connected to this node.

◆ GetDefaultNodeAttributeIndex()

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.

Returns
Index of the default node attribute or -1 if there is no default node attribute set.

◆ SetDefaultNodeAttributeIndex()

bool SetDefaultNodeAttributeIndex ( int  pIndex,
FbxStatus pStatus = ((void *) 0) 
)

Set index of the default node attribute.

Parameters
pIndexIdentifies which of the connected node attributes is becoming the default one. This value represent the connection number of the node.
pStatusThe FbxStatus object to hold error codes.
Returns
true if the operation succeeds or false if the passed index is invalid.

◆ GetNodeAttributeByIndex() [1/2]

FbxNodeAttribute* GetNodeAttributeByIndex ( int  pIndex)

Get the connected node attribute by specifying its index in the connection list.

Parameters
pIndexThe connection number of the node.
Returns
Pointer to corresponding node attribute or NULL if the index is out of range.

◆ GetNodeAttributeByIndex() [2/2]

const FbxNodeAttribute* GetNodeAttributeByIndex ( int  pIndex) const

Get the connected node attribute by specifying its index in the connection list.

Parameters
pIndexThe connection number of the node.
Returns
Pointer to corresponding node attribute or NULL if the index is out of range.

◆ GetNodeAttributeIndex()

int GetNodeAttributeIndex ( FbxNodeAttribute pNodeAttribute,
FbxStatus pStatus = ((void *) 0) 
) 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.

Parameters
pNodeAttributeThe pointer to the node attribute.
pStatusThe FbxStatus object to hold error codes.
Returns
The connection number of the node attribute or -1 if pNodeAttribute is NULL or not connected to this node.

◆ AddNodeAttribute()

bool AddNodeAttribute ( FbxNodeAttribute pNodeAttribute,
FbxStatus pStatus = ((void *) 0) 
)

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.

Parameters
pNodeAttributeThe pointer to a node attribute.
pStatusThe FbxStatus object to hold error codes.
Returns
true if the operation succeeded or false if the operation failed.
Remarks
The failing conditions for this methods are:
  • The received object pointer is NULL.
  • The received object is already connected to this node.
  • An internal error prevented the connection to successfully complete.

◆ RemoveNodeAttribute()

FbxNodeAttribute* RemoveNodeAttribute ( FbxNodeAttribute pNodeAttribute)

Remove the node attribute from the connection list of this node.

Parameters
pNodeAttributeThe pointer to a node attribute.
Returns
Pointer to the removed node attribute or NULL if the operation failed.

◆ RemoveNodeAttributeByIndex()

FbxNodeAttribute* RemoveNodeAttributeByIndex ( int  pIndex)

Remove the node attribute, specified by the connection index, from the connection list of this node.

Parameters
pIndexIndex of the node attribute.
Returns
Pointer to the removed node attribute or NULL if the operation failed.
Remarks
If the specified node attribute is also the default one, its predecessor in the connection list will become the new default node attribute. And if there are no more predecessors, the node DefaultNodeAttributeIndex is reset to -1.

◆ GetCachedEffect()

FbxCachedEffect* GetCachedEffect ( )

Get the default node attribute casted to a FbxCachedEffect pointer.

Returns
Pointer to the cached effect object.
Remarks
If the type cast failed because there is not default node attribute set or it cannot be successfully casted, this method will return NULL.

◆ GetLodGroup()

FbxLODGroup* GetLodGroup ( )

Get the default node attribute casted to a FbxLODGroup pointer.

Returns
Pointer to the lod group object.
Remarks
If the type cast failed because there is not default node attribute set or it cannot be successfully casted, this method will return NULL.

◆ GetNull()

FbxNull* GetNull ( )

Get the default node attribute casted to a FbxNull pointer.

Returns
Pointer to the null object.
Remarks
If the type cast failed because there is not default node attribute set or it cannot be successfully casted, this method will return NULL.

◆ GetMarker()

FbxMarker* GetMarker ( )

Get the node attribute casted to a FbxMarker pointer.

Returns
Pointer to the marker object.
Remarks
If the type cast failed because there is not default node attribute set or it cannot be successfully casted, this method will return NULL.

◆ GetSkeleton()

FbxSkeleton* GetSkeleton ( )

Get the node attribute casted to a FbxSkeleton pointer.

Returns
Pointer to the skeleton object.
Remarks
If the type cast failed because there is not default node attribute set or it cannot be successfully casted, this method will return NULL.

◆ GetGeometry()

FbxGeometry* GetGeometry ( )

Get the node attribute casted to a FbxGeometry pointer.

Returns
Pointer to the geometry object.
Remarks
If the type cast failed because there is not default node attribute set or it cannot be successfully casted, this method will return NULL.
For this method to succeed, the node attribute's GetAttributeType() must returns one of the following:
Examples:
ExportScene02/main.cxx, ExportScene03/main.cxx, and ViewScene/SceneContext.cxx.

◆ GetMesh()

FbxMesh* GetMesh ( )

Get the node attribute casted to a FbxMesh pointer.

Returns
Pointer to the mesh object.
Remarks
This method will try to process the default node attribute first. If it cannot find it, it will scan the list of connected node attributes and get the first object that is a FbxNodeAttribute::eMesh.
If the above search failed to get a valid pointer or it cannot be successfully casted, this method will return NULL.
Examples:
ExportScene03/main.cxx, Instances/main.cxx, Normals/main.cxx, ProceduralTexture/main.cxx, UVSample/main.cxx, ViewScene/DrawScene.cxx, and ViewScene/SceneContext.cxx.

◆ GetNurbs()

FbxNurbs* GetNurbs ( )

Get the node attribute casted to a FbxNurbs pointer.

Returns
Pointer to the nurb object.
Remarks
This method will try to process the default node attribute first. If it cannot find it, it will scan the list of connected node attributes and get the first object that is a FbxNodeAttribute::eNurbs.
If the above search failed to get a valid pointer or it cannot be successfully casted, this method will return NULL.
Examples:
ExportScene02/main.cxx.

◆ GetNurbsSurface()

FbxNurbsSurface* GetNurbsSurface ( )

Get the node attribute casted to a FbxNurbsSurface pointer.

Returns
Pointer to the nurbs surface object.
Remarks
This method will try to process the default node attribute first. If it cannot find it, it will scan the list of connected node attributes and get the first object that is a FbxNodeAttribute::eNurbsSurface.
If the above search failed to get a valid pointer or it cannot be successfully casted, this method will return NULL.

◆ GetNurbsCurve()

FbxNurbsCurve* GetNurbsCurve ( )

Get the node attribute casted to a FbxNurbsCurve pointer.

Returns
Pointer to the nurbs curve object.
Remarks
This method will try to process the default node attribute first. If it cannot find it, it will scan the list of connected node attributes and get the first object that is a FbxNodeAttribute::eNurbsCurve.
If the above search failed to get a valid pointer or it cannot be successfully casted, this method will return NULL.

◆ GetLine()

FbxLine* GetLine ( )

Get the node attribute casted to a FbxLine pointer.

Returns
Pointer to the line object.
Remarks
This method will try to process the default node attribute first. If it cannot find it, it will scan the list of connected node attributes and get the first object that is a FbxNodeAttribute::eLine.
If the above search failed to get a valid pointer or it cannot be successfully casted, this method will return NULL.

◆ GetTrimNurbsSurface()

FbxTrimNurbsSurface* GetTrimNurbsSurface ( )

Get the node attribute casted to a FbxTrimNurbsSurface pointer.

Returns
Pointer to the trim nurbs surface object.
Remarks
This method will try to process the default node attribute first. If it cannot find it, it will scan the list of connected node attributes and get the first object that is a FbxNodeAttribute::eTrimNurbsSurface.
If the above search failed to get a valid pointer or it cannot be successfully casted, this method will return NULL.

◆ GetSubdiv()

FbxSubDiv* GetSubdiv ( )

Get the node attribute casted to a FbxSubDiv pointer.

Returns
Pointer to the subdivision surface object.
Remarks
This method will try to process the default node attribute first. If it cannot find it, it will scan the list of connected node attributes and get the first object that is a FbxNodeAttribute::eSubDiv.
If the above search failed to get a valid pointer or it cannot be successfully casted, this method will return NULL.

◆ GetPatch()

FbxPatch* GetPatch ( )

Get the node attribute casted to a FbxPatch pointer.

Returns
Pointer to the patch object.
Remarks
This method will try to process the default node attribute first. If it cannot find it, it will scan the list of connected node attributes and get the first object that is a FbxNodeAttribute::ePatch.
If the above search failed to get a valid pointer or it cannot be successfully casted, this method will return NULL.

◆ GetCamera() [1/2]

FbxCamera* GetCamera ( )

Get the node attribute casted to a FbxCamera pointer.

Returns
Pointer to the camera object.
Remarks
If the type cast failed because there is not default node attribute set or it cannot be successfully casted, this method will return NULL.
Examples:
Camera/main.cxx, ExportScene04/main.cxx, ImportScene/DisplayAnimation.cxx, ViewScene/DrawScene.cxx, and ViewScene/SetCamera.cxx.

◆ GetCamera() [2/2]

const FbxCamera* GetCamera ( ) const

◆ GetCameraStereo()

FbxCameraStereo* GetCameraStereo ( )

Get the node attribute casted to a FbxCameraStereo pointer.

Returns
Pointer to the stereo camera object.
Remarks
If the type cast failed because there is not default node attribute set or it cannot be successfully casted, this method will return NULL.

◆ GetCameraSwitcher()

FbxCameraSwitcher* GetCameraSwitcher ( )

Get the node attribute casted to a FbxCameraSwitcher pointer.

Returns
Pointer to the camera switcher object.
Remarks
If the type cast failed because there is not default node attribute set or it cannot be successfully casted, this method will return NULL.

◆ GetLight() [1/2]

FbxLight* GetLight ( )

Get the node attribute casted to a FbxLight pointer.

Returns
Pointer to the light object.
Remarks
If the type cast failed because there is not default node attribute set or it cannot be successfully casted, this method will return NULL.
Examples:
ExportScene04/main.cxx, ImportScene/DisplayAnimation.cxx, ViewScene/DrawScene.cxx, and ViewScene/SceneContext.cxx.

◆ GetLight() [2/2]

const FbxLight* GetLight ( ) const

◆ GetOpticalReference()

FbxOpticalReference* GetOpticalReference ( )

Get the node attribute casted to a FbxOpticalReference pointer.

Returns
Pointer to the optical reference object.
Remarks
If the type cast failed because there is not default node attribute set or it cannot be successfully casted, this method will return NULL.

◆ SetTransformationInheritType()

void SetTransformationInheritType ( FbxTransform::EInheritType  pInheritType)

Sets how child transforms are inherited from parent transforms.

Parameters
pInheritTypeOne of the following values eInheritRrSs, eInheritRSrs or eInheritRrs

◆ GetTransformationInheritType()

void GetTransformationInheritType ( FbxTransform::EInheritType pInheritType) const

Get transformation inherit type.

Examples:
ImportScene/main.cxx.

◆ SetPivotState()

void SetPivotState ( EPivotSet  pPivotSet,
EPivotState  pPivotState 
)

Change the state of the pivot context.

Parameters
pPivotSetSpecify which pivot context is manipulated.
pPivotStateThe new state of the pivot context.
Examples:
ExportScene05/main.cxx, and Pivot/main.cxx.

◆ GetPivotState()

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.

Parameters
pPivotSetSpecify which pivot context is queried.
pPivotStateThe current state of the pivot set.
Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

◆ SetRotationOrder()

void SetRotationOrder ( EPivotSet  pPivotSet,
FbxEuler::EOrder  pRotationOrder 
)

Set rotation space Determine the rotation space (Euler or Spheric) and the rotation order.

Parameters
pPivotSetSpecify which pivot context is manipulated.
pRotationOrderThe new value for the pivot rotation order.
Examples:
ExportScene05/main.cxx.

◆ GetRotationOrder()

void GetRotationOrder ( EPivotSet  pPivotSet,
FbxEuler::EOrder pRotationOrder 
) const

Get rotation order.

Parameters
pPivotSetSpecify which pivot context is queried.
pRotationOrderThe current value of the pivot rotation order.
Examples:
ImportScene/main.cxx.

◆ SetUseRotationSpaceForLimitOnly()

void SetUseRotationSpaceForLimitOnly ( EPivotSet  pPivotSet,
bool  pUseForLimitOnly 
)

Set rotation space for limit only.

Parameters
pPivotSetSpecify which pivot context is manipulated.
pUseForLimitOnlyWhen 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.
Examples:
ExportScene05/main.cxx.

◆ GetUseRotationSpaceForLimitOnly()

bool GetUseRotationSpaceForLimitOnly ( EPivotSet  pPivotSet) const

Get rotation space for limit only.

Parameters
pPivotSetSpecify which pivot context is queried.
Returns
The current rotation space limit flag value.
Examples:
ImportScene/main.cxx.

◆ SetRotationActive()

void SetRotationActive ( bool  pVal)

Set the RotationActive state.

Parameters
pValThe new state of the property.
Remarks
When this flag is set to false, the RotationOrder, the Pre/Post rotation values and the rotation limits should be ignored.
Examples:
Pivot/main.cxx.

◆ GetRotationActive()

bool GetRotationActive ( ) const

Get the RotationActive state.

Returns
The value of the RotationActive flag.

◆ SetQuaternionInterpolation()

void SetQuaternionInterpolation ( EPivotSet  pPivotSet,
EFbxQuatInterpMode  pQuatIterp 
)

Specify which Quaternion interpolation mode is used on the pivot context.

Parameters
pPivotSetSpecify which pivot context is manipulated.
pQuatIterpThe new value.
Remarks
When the pPivotSet is eSourcePivot, this method also updates the value of the QuaternionInterpolate property.
Examples:
ExportScene05/main.cxx.

◆ GetQuaternionInterpolation()

EFbxQuatInterpMode GetQuaternionInterpolation ( EPivotSet  pPivotSet) const

Get the Quaternion interpolation mode of the pivot context.

Parameters
pPivotSetSpecify which pivot context is queried.
Returns
The current mode set on the pivot context.

◆ SetRotationStiffness()

void SetRotationStiffness ( FbxVector4  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.

Parameters
pRotationStiffnessThe rotation stiffness values are limited to the range [0, 100].

◆ GetRotationStiffness()

FbxVector4 GetRotationStiffness ( ) const

Get the rotation stiffness.

Returns
The currently set rotation stiffness values.

◆ SetMinDampRange()

void SetMinDampRange ( FbxVector4  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.

Parameters
pMinDampRangeAngle, in degrees, where deceleration should start

◆ GetMinDampRange()

FbxVector4 GetMinDampRange ( ) const

Get the minimum damp range angles.

Returns
The currently set minimum damp range angles.

◆ SetMaxDampRange()

void SetMaxDampRange ( FbxVector4  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.

Parameters
pMaxDampRangeAngle, in degrees, where deceleration should start

◆ GetMaxDampRange()

FbxVector4 GetMaxDampRange ( ) const

Get the maximum damp range angles.

Returns
The currently set maximum damp range angles.

◆ SetMinDampStrength()

void SetMinDampStrength ( FbxVector4  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.

Parameters
pMinDampStrengthValues are limited to the range [0, 100].

◆ GetMinDampStrength()

FbxVector4 GetMinDampStrength ( ) const

Get the minimum damp strength.

Returns
The currently set minimum damp strength values.

◆ SetMaxDampStrength()

void SetMaxDampStrength ( FbxVector4  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.

Parameters
pMaxDampStrengthValues are limited to the range [0, 100].

◆ GetMaxDampStrength()

FbxVector4 GetMaxDampStrength ( ) const

Get the maximum damp strength.

Returns
The currently set maximum damp strength values.

◆ SetPreferedAngle()

void SetPreferedAngle ( FbxVector4  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.

Parameters
pPreferedAngleAngle in degrees

◆ GetPreferedAngle()

FbxVector4 GetPreferedAngle ( ) const

Get the preferred angle.

Returns
The currently set preferred angle.

◆ SetRotationOffset()

void SetRotationOffset ( EPivotSet  pPivotSet,
FbxVector4  pVector 
)

Set a translation offset for the rotation pivot.

The translation offset is in coordinates relative to the node's origin.

Parameters
pPivotSetSpecify which pivot set to modify.
pVectorThe X,Y and Z translation values (the 4th component of the FbxVector4 is ignored).

◆ GetRotationOffset()

const FbxVector4& GetRotationOffset ( EPivotSet  pPivotSet) const

Get the translation offset for the rotation pivot.

The translation offset is in coordinates relative to the node's origin.

Parameters
pPivotSetSpecify which pivot set to to query the value.
Returns
The X, Y and Z translation offset values (the 4th component of the FbxVector4 is always 1).
Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

◆ SetRotationPivot()

void SetRotationPivot ( EPivotSet  pPivotSet,
FbxVector4  pVector 
)

Set rotation pivot.

The rotation pivot is the center of rotation in coordinates relative to the node's origin.

Parameters
pPivotSetSpecify which pivot set to modify.
pVectorThe new position of the rotation pivot (the 4th component of the FbxVector4 is ignored).
Examples:
ExportScene05/main.cxx, and Pivot/main.cxx.

◆ GetRotationPivot()

const FbxVector4& GetRotationPivot ( EPivotSet  pPivotSet) const

Get rotation pivot.

The rotation pivot is the center of rotation in coordinates relative to the node's origin.

Parameters
pPivotSetSpecify which pivot set to query.
Returns
The current position of the rotation pivot (the 4th component of the FbxVector4 is always 1).
Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

◆ SetPreRotation()

void SetPreRotation ( EPivotSet  pPivotSet,
FbxVector4  pVector 
)

Set pre-rotation in Euler angles.

The pre-rotation is the rotation applied to the node before rotation animation data.

Parameters
pPivotSetSpecify which pivot set to modify.
pVectorThe X,Y,Z rotation values to set (the 4th component of the FbxVector4 is ignored).
Examples:
ExportScene05/main.cxx.

◆ GetPreRotation()

const FbxVector4& GetPreRotation ( EPivotSet  pPivotSet) const

Get pre-rotation in Euler angles.

The pre-rotation is the rotation applied to the node before rotation animation data.

Parameters
pPivotSetSpecify which pivot set to query.
Returns
The X,Y and Z rotation values (the 4th component of the FbxVector4 is always 1).
Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

◆ SetPostRotation()

void SetPostRotation ( EPivotSet  pPivotSet,
FbxVector4  pVector 
)

Set post-rotation in Euler angles.

The post-rotation is the rotation applied to the node after the rotation animation data.

Parameters
pPivotSetSpecify which pivot set to modify.
pVectorThe X,Y,Z rotation values to set (the 4th component of the FbxVector4 is ignored).
Examples:
ExportScene05/main.cxx, and Pivot/main.cxx.

◆ GetPostRotation()

const FbxVector4& 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.

Parameters
pPivotSetSpecify which pivot set to query.
Returns
The X,Y and Z rotation values (the 4th component of the FbxVector4 is always 1).
Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

◆ SetScalingOffset()

void SetScalingOffset ( EPivotSet  pPivotSet,
FbxVector4  pVector 
)

Set a translation offset for the scaling pivot.

The translation offset is in coordinates relative to the node's origin.

Parameters
pPivotSetSpecify which pivot set to modify.
pVectorThe X,Y and Z translation values (the 4th component of the FbxVector4 is ignored).

◆ GetScalingOffset()

const FbxVector4& GetScalingOffset ( EPivotSet  pPivotSet) const

Get the translation offset for the scaling pivot.

The translation offset is in coordinates relative to the node's origin.

Parameters
pPivotSetSpecify which pivot set to query the value.
Returns
The X, Y and Z translation offset values (the 4th component of the FbxVector4 is always 1).
Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

◆ SetScalingPivot()

void SetScalingPivot ( EPivotSet  pPivotSet,
FbxVector4  pVector 
)

Set scaling pivot.

The scaling pivot is the center of scaling in coordinates relative to the node's origin.

Parameters
pPivotSetSpecify which pivot set to modify.
pVectorThe new position of the scaling pivot (the 4th component of the FbxVector4 is ignored).

◆ GetScalingPivot()

const FbxVector4& GetScalingPivot ( EPivotSet  pPivotSet) const

Get scaling pivot.

The scaling pivot is the center of scaling in coordinates relative to the node's origin.

Parameters
pPivotSetSpecify which pivot set to query.
Returns
The current position of the rotation pivot (the 4th component of the FbxVector4 is always 1).
Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

◆ SetGeometricTranslation()

void SetGeometricTranslation ( EPivotSet  pPivotSet,
FbxVector4  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.

Parameters
pPivotSetSpecify which pivot set to modify.
pVectorThe X, Y, and Z translation values (the 4th component of the FbxVector4 is ignored).

◆ GetGeometricTranslation()

FbxVector4 GetGeometricTranslation ( EPivotSet  pPivotSet) const

Get geometric translation.

Parameters
pPivotSetSpecify which pivot set to query.
Returns
The current geometric translation (the 4th component of the FbxVector4 is always 1).
Examples:
ImportScene/main.cxx, and ViewScene/GetPosition.cxx.

◆ SetGeometricRotation()

void SetGeometricRotation ( EPivotSet  pPivotSet,
FbxVector4  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.

Parameters
pPivotSetSpecify which pivot set to modify.
pVectorThe X,Y and Z rotation values (the 4th component of the FbxVector4 is ignored).

◆ GetGeometricRotation()

FbxVector4 GetGeometricRotation ( EPivotSet  pPivotSet) const

Get geometric rotation.

Parameters
pPivotSetSpecify which pivot set to query.
Returns
The current geometric rotation (the 4th component of the FbxVector4 is always 1).
Examples:
ImportScene/main.cxx, and ViewScene/GetPosition.cxx.

◆ SetGeometricScaling()

void SetGeometricScaling ( EPivotSet  pPivotSet,
FbxVector4  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.

Parameters
pPivotSetSpecify which pivot set to modify.
pVectorThe X,Y and Z scale values (the 4th component of the FbxVector4 is ignored).

◆ GetGeometricScaling()

FbxVector4 GetGeometricScaling ( EPivotSet  pPivotSet) const

Get geometric scaling.

Parameters
pPivotSetSpecify which pivot set to query.
Returns
The current geometric scaling (the 4th component of the FbxVector4 is always 1).
Examples:
ImportScene/main.cxx, and ViewScene/GetPosition.cxx.

◆ ResetPivotSet()

void ResetPivotSet ( FbxNode::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.

Parameters
pPivotSetPivot set to reset.
Remarks
The default pivot context is a context with all the vector attributes set to (0,0,0) except the GeometricScaling attribute that is reset to (1,1,1).

◆ ConvertPivotAnimationRecursive()

void ConvertPivotAnimationRecursive ( FbxAnimStack pAnimStack,
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.

Parameters
pAnimStackThe animation stack on which the conversion will take place. If equals NULL, convert the animation on all the animation stacks.
pConversionTargetIf set to EPivotSet::eDestinationPivot, convert animation data from the EPivotSet::eSourcePivot pivot context to the EPivotSet::eDestinationPivot pivot context. Otherwise, the conversion is computed the other way around.
pFrameRateResampling frame rate in frames per second.
pKeyReduceApply or skip key reducing filter.
Remarks
Due to the intrinsic properties of the mathematical operations performed, sometimes, it is necessary to resample animation curves to maintain the accurate conversion. When this resampling is required, the method will use the pFrameRate value to specify the number of samples. To avoid a huge number of keys in the animation curves, a constant key reducer filter (FbxKFCurveFilterConstantKeyReducer) is automatically applied to all the affected curves to remove as much consecutive keys that have the same value. This filter is private and its settings cannot be changed. It is possible that, after the filtering pass, the animations curves do not contain keys anymore. This is a normal result and does not affect the overall results.
Note
Although it is possible to call this method several times with a different AnimStack name, users must be aware that some pivot computation can irreversibly modify the geometric nodes with a cumulative effect of the GeometricTranslation, GeometricRotation and GeometricScaling which will produce undesirable results. It is recommended to call ConvertPivotAnimationRecursive with pAnimStackName = NULL and let the method convert the animation on all the Anim stacks at once. In the case when there are no geometric nodes in the scene tree, specifying the animation stack is safe and somewhat faster. If any transform limits are active, they are applied during the conversion and disabled.
Examples:
Pivot/main.cxx.

◆ ResetPivotSetAndConvertAnimation()

void ResetPivotSetAndConvertAnimation ( double  pFrameRate = 30.0,
bool  pKeyReduce = false,
bool  pToNodeCenter = true,
bool  pForceResetLimits = false 
)

Reset all the pivot sets to the default pivot context and convert the animation.

Parameters
pFrameRateResampling frame rate in frames per second.
pKeyReduceApply or skip key reducing filter.
pToNodeCenterReset pivots to node center if true, or retain pivot places if false.
pForceResetLimitsIf true, this flag will reset all the Translation, Rotation and Scaling limits and clears the enabled flags.
Remarks
The resulting animation will be visually equivalent and all the pivots will be cleared. The conversion is performed on all animation stacks.
Will recursively convert the animation of all the children nodes.
The pForceResetLimits flag has a destructive behavior and should be used only in very limited cases where the values of the limits are not required after the call to this method.
Currently, this function just works under RSrs inherit type if pToNodeCenter is set to false.

◆ SetRotationPivotAsCenterRecursive()

void SetRotationPivotAsCenterRecursive ( FbxVector4  pParentGeometricOffset = FbxVector4())

Set rotation pivot as node center recursively.

Parameters
pParentGeometricOffsetOffset vector to be applied.

◆ GetAnimationEvaluator()

FbxAnimEvaluator* GetAnimationEvaluator ( ) const

Retrieve the proper animation evaluator to use for this node.

Returns
If the object has no scene, returns the default evaluator, otherwise the object's scene evaluator.

◆ EvaluateGlobalTransform()

FbxAMatrix& EvaluateGlobalTransform ( FbxTime  pTime = FbxTime((0x7fffffffffffffffLL)),
FbxNode::EPivotSet  pPivotSet = FbxNode::eSourcePivot,
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.

Parameters
pTimeThe time used for evaluate. If FBXSDK_TIME_INFINITE is used, this returns the default value, without animation curves evaluation.
pPivotSetThe pivot set to take into account
pApplyTargetApplies the necessary transform to align into the target node
pForceEvalForce the evaluator to refresh the evaluation state cache even if its already up-to-date.
Returns
The resulting global transform of the specified node at the specified time.
Remarks
This function is the equivalent of calling Scene->GetEvaluator()->GetNodeGlobalTransform().
Examples:
ExportScene01/main.cxx, Pivot/main.cxx, Transformations/main.cxx, and ViewScene/GetPosition.cxx.

◆ EvaluateLocalTransform()

FbxAMatrix& EvaluateLocalTransform ( FbxTime  pTime = FbxTime((0x7fffffffffffffffLL)),
FbxNode::EPivotSet  pPivotSet = FbxNode::eSourcePivot,
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.

Parameters
pTimeThe time used for evaluate. If FBXSDK_TIME_INFINITE is used, this returns the default value, without animation curves evaluation.
pPivotSetThe pivot set to take into account
pApplyTargetApplies the necessary transform to align into the target node
pForceEvalForce the evaluator to refresh the evaluation state cache even if its already up-to-date.
Returns
The resulting local transform of the specified node for the specified time.
Remarks
The local transform matrix is calculated in this way: ParentGlobal.Inverse * Global, all transforms such as pre/post rotation are taken into consideration. This will return a different value than LclTranslation, LclRotation and LclScaling at the specified time. To evaluate these properties separately without taking pre/post rotation, pivots and offsets into consideration, please use GetNodeLocalTranslation(), GetNodeLocalRotation() and GetNodeLocalScaling(). This function is the equivalent of calling Scene->GetEvaluator()->GetNodeLocalTransform().
Examples:
Pivot/main.cxx, and Transformations/main.cxx.

◆ EvaluateLocalTranslation()

FbxVector4& EvaluateLocalTranslation ( FbxTime  pTime = FbxTime((0x7fffffffffffffffLL)),
FbxNode::EPivotSet  pPivotSet = FbxNode::eSourcePivot,
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.

Parameters
pTimeThe time used for evaluate. If FBXSDK_TIME_INFINITE is used, this returns the default value, without animation curves evaluation.
pPivotSetThe pivot set to take into account
pApplyTargetApplies the necessary transform to align into the target node
pForceEvalForce the evaluator to refresh the evaluation state cache even if its already up-to-date.
Returns
The resulting value of LclTranslation property of the specified node at the specified time.
Remarks
This function is the equivalent of calling Scene->GetEvaluator()->GetNodeLocalTranslation().

◆ EvaluateLocalRotation()

FbxVector4& EvaluateLocalRotation ( FbxTime  pTime = FbxTime((0x7fffffffffffffffLL)),
FbxNode::EPivotSet  pPivotSet = FbxNode::eSourcePivot,
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.

Parameters
pTimeThe time used for evaluate. If FBXSDK_TIME_INFINITE is used, this returns the default value, without animation curves evaluation.
pPivotSetThe pivot set to take into account
pApplyTargetApplies the necessary transform to align into the target node
pForceEvalForce the evaluator to refresh the evaluation state cache even if its already up-to-date.
Returns
The resulting value of LclRotation property of the specified node at the specified time.
Remarks
This function is the equivalent of calling Scene->GetEvaluator()->GetNodeLocalRotation().

◆ EvaluateLocalScaling()

FbxVector4& EvaluateLocalScaling ( FbxTime  pTime = FbxTime((0x7fffffffffffffffLL)),
FbxNode::EPivotSet  pPivotSet = FbxNode::eSourcePivot,
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.

Parameters
pTimeThe time used for evaluate. If FBXSDK_TIME_INFINITE is used, this returns the default value, without animation curves evaluation.
pPivotSetThe pivot set to take into account
pApplyTargetApplies the necessary transform to align into the target node
pForceEvalForce the evaluator to refresh the evaluation state cache even if its already up-to-date.
Returns
The resulting value of LclScaling property of the specified node at the specified time.
Remarks
This function is the equivalent of calling Scene->GetEvaluator()->GetNodeLocalScaling().

◆ EvaluateGlobalBoundingBoxMinMaxCenter()

bool EvaluateGlobalBoundingBoxMinMaxCenter ( FbxVector4 pBBoxMin,
FbxVector4 pBBoxMax,
FbxVector4 pBBoxCenter,
const FbxTime pTime = FbxTime((0x7fffffffffffffffLL)) 
)

Compute the node's bounding box and its center in global coordinates.

Parameters
pBBoxMinThe minimum value of the bounding box upon successful return.
pBBoxMaxThe maximum value of the bounding box upon successful return.
pBBoxCenterThe center value of the bounding box upon successful return.
pTimeIf different from FBXSDK_TIME_INFINITE, time used to compute the bounding box for deformed geometry.
Returns
true if successful, otherwise false.
Remarks
If geometry have been unloaded from memory, their bounding box cannot be calculated and will use any value set previously.

◆ EvaluateRayIntersectionPoint()

bool EvaluateRayIntersectionPoint ( FbxVector4 pOut,
const FbxVector4 pRayOrigin,
const FbxVector4 pRayDir,
bool  pCulling = false,
const FbxTime pTime = FbxTime((0x7fffffffffffffffLL)) 
)

Compute closest ray intersection point with mesh attributes of this node (triangle meshes only!).

Parameters
pOutThe closest intersection point from pRayOrigin location in pRayDir direction. Variable is unchanged if return value is false.
pRayOriginThe origin location to cast the ray from.
pRayDirThe direction the cast ray to test mesh triangles from.
pCullingIf true, only test triangles that are front facing, otherwise test both sides.
pTimeThe time to use to evaluate mesh deformations.
Returns
true if a triangle intersect with the ray, otherwise false.
Remarks
This function will automatically fail if the node's meshes are not triangulated.

◆ GetCharacterLinkCount()

int GetCharacterLinkCount ( ) const

Get number of character links.

Returns
The number of character links.

◆ GetCharacterLink()

bool GetCharacterLink ( int  pIndex,
FbxCharacter **  pCharacter,
int *  pCharacterLinkType,
int *  pNodeId,
int *  pNodeSubId 
)

Get character link at given index.

Parameters
pIndexIndex of character link.
pCharacterPointer to receive linked character if function succeeds.
pCharacterLinkTypePointer to receive character link type if function succeeds, cast to FbxCharacterLink::Type.
pNodeIdPointer to receive the node ID if function succeeds. This ID should be casted to FbxCharacter::ENodeId type when the character link type is eCharacterLink or eControlSetLink else to the FbxEffector::ENodeId type if the character link type is eControlSetEffector or eControlSetEffectorAux.
pNodeSubIdFor internal use.
Returns
false if the index is out of range or any of the pointer arguments is NULL.

◆ FindCharacterLink()

int FindCharacterLink ( FbxCharacter pCharacter,
int  pCharacterLinkType,
int  pNodeId,
int  pNodeSubId 
) const

Looks if the given character link exists on this node.

Parameters
pCharacterCharacter searched.
pCharacterLinkTypeCharacter link type searched. Its value must be one of the FbxCharacterLink::Type symbols..
pNodeIdNode ID searched. If pCharacterLinkType is eCharacterLink or eControlSetLink the pNodeId value is casted to the FbxCharacter::ENodeId type. If the pCharacterLinkType is eControlSetEffector or eControlSetEffectorAux then the pNodeId is casted to the FbxEffector::ENodeId type.
pNodeSubIdFor internal use.
Returns
Index of found character link if it exists, -1 otherwise.

◆ GetAnimationInterval()

bool GetAnimationInterval ( FbxTimeSpan pInterval,
FbxAnimStack pAnimStack = ((void *) 0),
int  pAnimLayerId = 0 
)

Find out start and end time of the animation curves for this node (and its children).

Parameters
pIntervalThis node's animation interval.
pAnimStackAnimation stack where to retrieve animation curves.
pAnimLayerIdSpecific animation layer on the animStack to use.
Returns
true if the node (or its children) is animated, false otherwise.
Remarks
If pAnimStack is left NULL, the function will try to get the first AnimStack that is connected to the scene. pAnimLayerId represent the index of the connection. For example, the call:
lNode->GetAnimationInterval(span, myStack, 3);
will scan all the animation curves of this node, and it's children, that are defined on the third animation layer of myStack.

◆ AddMaterial()

int AddMaterial ( FbxSurfaceMaterial pMaterial)

Add a material to this node.

Parameters
pMaterialThe material to add.
Returns
non-negative index of added material, or -1 on error.
Examples:
ExportDocument/main.cxx, ExportScene02/main.cxx, ExportScene03/main.cxx, ExportShader/main.cxx, Instances/main.cxx, Layers/main.cxx, and ProceduralTexture/main.cxx.

◆ RemoveMaterial()

bool RemoveMaterial ( FbxSurfaceMaterial pMaterial)

Remove a material from this node.

Parameters
pMaterialThe material to remove.
Returns
true on success, false otherwise

◆ GetMaterialCount()

int GetMaterialCount ( ) const
Returns
The number of materials applied to this node.
Remarks
If this node has an instanced node attribute, it is possible to have a material applied to this node more than once. The material count may not reflect the distinct material count.
Examples:
ImportScene/DisplayMaterial.cxx, ImportScene/DisplayMesh.cxx, and ViewScene/SceneContext.cxx.

◆ GetMaterial()

FbxSurfaceMaterial* GetMaterial ( int  pIndex) const

Access a material on this node.

Parameters
pIndexValid range is [0, GetMaterialCount() - 1]
Returns
The pIndex-th material, or NULL if pIndex is invalid.
Examples:
ImportScene/DisplayMaterial.cxx, ImportScene/DisplayMesh.cxx, ViewScene/DrawScene.cxx, and ViewScene/SceneContext.cxx.

◆ RemoveAllMaterials()

void RemoveAllMaterials ( )

Remove all materials applied to this node.

◆ GetMaterialIndex()

int GetMaterialIndex ( const char *  pName) const

Find an applied material with the given name.

Parameters
pNameThe requested name
Returns
an index to a material, or -1 if no applied material has the requested name.

Friends And Related Function Documentation

◆ fbxsdk ::FbxManager

friend class fbxsdk ::FbxManager
friend

Definition at line 74 of file fbxnode.h.

◆ fbxsdk ::FbxNew [1/47]

T* fbxsdk ::FbxNew ( )
friend

◆ fbxsdk ::FbxNew [2/47]

T* fbxsdk ::FbxNew ( T1 &  p1)
friend

◆ fbxsdk ::FbxNew [3/47]

T* fbxsdk ::FbxNew ( const T1 &  p1)
friend

◆ fbxsdk ::FbxNew [4/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2 
)
friend

◆ fbxsdk ::FbxNew [5/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2 
)
friend

◆ fbxsdk ::FbxNew [6/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2 
)
friend

◆ fbxsdk ::FbxNew [7/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2 
)
friend

◆ fbxsdk ::FbxNew [8/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [9/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
const T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [10/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2,
T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [11/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2,
const T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [12/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [13/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [14/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [15/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [16/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [17/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [18/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [19/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [20/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [21/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [22/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [23/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [24/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [25/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [26/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [27/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [28/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [29/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [30/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [31/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [32/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [33/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [34/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [35/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [36/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
const T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [37/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4,
const T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [38/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [39/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
const T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [40/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4,
const T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [41/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [42/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4,
const T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [43/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [44/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6 
)
friend

◆ fbxsdk ::FbxNew [45/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6,
const T7 &  p7 
)
friend

◆ fbxsdk ::FbxNew [46/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6,
const T7 &  p7,
const T8 &  p8 
)
friend

◆ fbxsdk ::FbxNew [47/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6,
const T7 &  p7,
const T8 &  p8,
const T9 &  p9 
)
friend

◆ fbxsdk ::FbxDelete [1/2]

void fbxsdk ::FbxDelete ( T *  p)
friend

◆ fbxsdk ::FbxDelete [2/2]

void fbxsdk ::FbxDelete ( const T *  p)
friend

◆ fbxsdk ::FbxNewArray

T* fbxsdk ::FbxNewArray ( const int  n)
friend

◆ fbxsdk ::FbxDeleteArray

void fbxsdk ::FbxDeleteArray ( T *  p)
friend

Member Data Documentation

◆ ClassId

FbxClassId ClassId
static

Definition at line 74 of file fbxnode.h.

◆ LclTranslation

FbxPropertyT<FbxDouble3> LclTranslation

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.

Examples:
Common/GeometryUtility.cxx, ExportDocument/main.cxx, ExportScene01/main.cxx, ExportScene03/main.cxx, ExportScene04/main.cxx, ExportScene05/main.cxx, ImportScene/DisplayAnimation.cxx, Instances/main.cxx, Transformations/main.cxx, UserProperties/main.cxx, and ViewScene/SetCamera.cxx.

Definition at line 1213 of file fbxnode.h.

◆ LclRotation

FbxPropertyT<FbxDouble3> LclRotation

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.

Examples:
ExportDocument/main.cxx, ExportScene01/main.cxx, ExportScene03/main.cxx, ExportScene04/main.cxx, ExportScene05/main.cxx, ImportScene/DisplayAnimation.cxx, Instances/main.cxx, Pivot/main.cxx, Transformations/main.cxx, and ViewScene/SetCamera.cxx.

Definition at line 1222 of file fbxnode.h.

◆ LclScaling

FbxPropertyT<FbxDouble3> LclScaling

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.

Examples:
ExportScene03/main.cxx, ExportScene04/main.cxx, ExportScene05/main.cxx, ImportScene/DisplayAnimation.cxx, Instances/main.cxx, and Transformations/main.cxx.

Definition at line 1231 of file fbxnode.h.

◆ Visibility

FbxPropertyT<FbxDouble> Visibility

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(FbxDouble).

Default value is 1.

Remarks
  • This property holds values ranging from 0.0 to 1.0 where the value 0.0 means a totally invisible object, the value 1.0, a full visible object and anything inbetween, a percentage degree of visibility.
  • Since not all the applications may support a degree of visibility, it is agreed that a value of 0.0 means invisible and anything else means visible.
See also
Show property.

Definition at line 1251 of file fbxnode.h.

◆ VisibilityInheritance

FbxPropertyT<FbxBool> VisibilityInheritance

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(FbxBool).

Default value is true.

Remarks
This property is non-animatable and is not used inside the FBX SDK but it is guaranteed to exist in FBX files with version 7.2 and above.
See also
Visibility property.

Definition at line 1270 of file fbxnode.h.

◆ QuaternionInterpolate

FbxPropertyT<EFbxQuatInterpMode> QuaternionInterpolate

This property contains the quaternion interpolate flag of the node.

To access this property do: QuaternionInterpolate.Get(). To set this property do: QuaternionInterpolate.Set(EFbxQuatInterpMode).

Default value is eQuatInterpOff.

Definition at line 1280 of file fbxnode.h.

◆ RotationOffset

FbxPropertyT<FbxDouble3> RotationOffset

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.

Examples:
Transformations/main.cxx.

Definition at line 1289 of file fbxnode.h.

◆ RotationPivot

FbxPropertyT<FbxDouble3> RotationPivot

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.

Examples:
Transformations/main.cxx.

Definition at line 1298 of file fbxnode.h.

◆ ScalingOffset

FbxPropertyT<FbxDouble3> ScalingOffset

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.

Examples:
Transformations/main.cxx.

Definition at line 1307 of file fbxnode.h.

◆ ScalingPivot

FbxPropertyT<FbxDouble3> ScalingPivot

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.

Examples:
Transformations/main.cxx.

Definition at line 1316 of file fbxnode.h.

◆ TranslationActive

FbxPropertyT<FbxBool> TranslationActive

This property enables or disables the limit on translation.

When set to false the object can translate in any direction without limitations. Else the TranslationMinX, TranslationMinY, TranslationMinZ, TranslationMaxX, TranslationMaxY and TranslationMaxZ flags are used to limit the translation on each individual axis.

To access this property do: TranslationActive.Get(). To set this property do: TranslationActive.Set(FbxBool).

Default value is false.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1330 of file fbxnode.h.

◆ TranslationMin

FbxPropertyT<FbxDouble3> TranslationMin

This property sets the minimum translation values the object can occupy on each individual axis.

To access this property do: TranslationMin.Get(). To set this property do: TranslationMin.Set(FbxDouble3). Default value is 0.,0.,0.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1339 of file fbxnode.h.

◆ TranslationMax

FbxPropertyT<FbxDouble3> TranslationMax

This property sets the maximum translation values the object can occupy on each individual axis.

To access this property do: TranslationMax.Get(). To set this property do: TranslationMax.Set(FbxDouble3). Default value is 0.,0.,0.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1348 of file fbxnode.h.

◆ TranslationMinX

FbxPropertyT<FbxBool> TranslationMinX

This property enables or disables the limit on translation X.

When set to true, the object translation is constrained by the value of TranslationMin.

To access this property do: TranslationMinX.Get(). To set this property do: TranslationMinX.Set(FbxBool).

Default value is false.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1358 of file fbxnode.h.

◆ TranslationMinY

FbxPropertyT<FbxBool> TranslationMinY

This property enables or disables the limit on translation Y.

When set to true, the object translation is constrained by the value of TranslationMin.

To access this property do: TranslationMinY.Get(). To set this property do: TranslationMinY.Set(FbxBool).

Default value is false.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1368 of file fbxnode.h.

◆ TranslationMinZ

FbxPropertyT<FbxBool> TranslationMinZ

This property enables or disables the limit on translation Z.

When set to true, the object translation is constrained by the value of TranslationMin.

To access this property do: TranslationMinZ.Get(). To set this property do: TranslationMinZ.Set(FbxBool).

Default value is false.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1379 of file fbxnode.h.

◆ TranslationMaxX

FbxPropertyT<FbxBool> TranslationMaxX

This property enables or disables the limit on translation X.

When set to true, the object translation is constrained by the value of TranslationMax.

To access this property do: TranslationMaxX.Get(). To set this property do: TranslationMaxX.Set(FbxBool).

Default value is false.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1389 of file fbxnode.h.

◆ TranslationMaxY

FbxPropertyT<FbxBool> TranslationMaxY

This property enables or disables the limit on translation Y.

When set to true, the object translation is constrained by the value of TranslationMax.

To access this property do: TranslationMaxY.Get(). To set this property do: TranslationMaxY.Set(FbxBool).

Default value is false.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1399 of file fbxnode.h.

◆ TranslationMaxZ

FbxPropertyT<FbxBool> TranslationMaxZ

This property enables or disables the limit on translation Z.

When set to true, the object translation is constrained by the value of TranslationMax.

To access this property do: TranslationMaxZ.Get(). To set this property do: TranslationMaxZ.Set(FbxBool).

Default value is false.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1409 of file fbxnode.h.

◆ RotationOrder

FbxPropertyT< FbxEuler::EOrder > RotationOrder

This property contains the rotation order information of the node.

To access this property do: RotationOrder.Get(). To set this property do: RotationOrder.Set(EFbxRotationOrder). Default value is eEulerXYZ.

Definition at line 1418 of file fbxnode.h.

◆ RotationSpaceForLimitOnly

FbxPropertyT<FbxBool> RotationSpaceForLimitOnly

This property contains the rotation space for limit only flag of the node.

When set to true, the Rotation space is applied only on the limit data (provided the RotationActive is also true).

To access this property do: RotationSpaceForLimitOnly.Get(). To set this property do: RotationSpaceForLimitOnly.Set(FbxBool).

Default value is false.

Definition at line 1429 of file fbxnode.h.

◆ RotationStiffnessX

FbxPropertyT<FbxDouble> RotationStiffnessX

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(FbxDouble).

Default value is 0.

Definition at line 1438 of file fbxnode.h.

◆ RotationStiffnessY

FbxPropertyT<FbxDouble> RotationStiffnessY

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(FbxDouble).

Default value is 0.

Definition at line 1447 of file fbxnode.h.

◆ RotationStiffnessZ

FbxPropertyT<FbxDouble> RotationStiffnessZ

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(FbxDouble).

Default value is 0.

Definition at line 1456 of file fbxnode.h.

◆ AxisLen

This property contains axis length information of the node.

To access this property do: AxisLen.Get(). To set this property do: AxisLen.Set(FbxDouble).

Default value is 10.

Definition at line 1465 of file fbxnode.h.

◆ PreRotation

FbxPropertyT<FbxDouble3> PreRotation

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.

Examples:
Transformations/main.cxx.

Definition at line 1474 of file fbxnode.h.

◆ PostRotation

FbxPropertyT<FbxDouble3> PostRotation

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.

Examples:
Transformations/main.cxx.

Definition at line 1483 of file fbxnode.h.

◆ RotationActive

FbxPropertyT<FbxBool> RotationActive

This property enables or disables the limit on rotation.

When set to false the object can rotate in any direction without limitations. Else the RotationMinX, RotationMinY, RotationMinZ, RotationMaxX, RotationMaxY and RotationMaxZ flags are used to limit the rotation on each individual axis.

Remarks
The PreRotation value is applied before the limit, while the PostRotation is applied after the limit.

To access this property do: RotationActive.Get(). To set this property do: RotationActive.Set(FbxBool).

Default value is false.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1499 of file fbxnode.h.

◆ RotationMin

FbxPropertyT<FbxDouble3> RotationMin

This property sets the minimum rotation values the object can occupy on each individual axis.

To access this property do: RotationMin.Get(). To set this property do: RotationMin.Set(FbxDouble3).

Default value is 0.,0.,0.

Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1508 of file fbxnode.h.

◆ RotationMax

FbxPropertyT<FbxDouble3> RotationMax

This property sets the maximum rotation values the object can occupy on each individual axis.

To access this property do: RotationMax.Get(). To set this property do: RotationMax.Set(FbxDouble3).

Default value is 0.,0.,0.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1517 of file fbxnode.h.

◆ RotationMinX

FbxPropertyT<FbxBool> RotationMinX

This property enables or disables the limit on rotation X.

When set to true, the object rotation is constrained by the value of RotationMin.

To access this property do: RotationMinX.Get(). To set this property do: RotationMinX.Set(FbxBool).

Default value is false.

Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1527 of file fbxnode.h.

◆ RotationMinY

FbxPropertyT<FbxBool> RotationMinY

This property enables or disables the limit on rotation Y.

When set to true, the object rotation is constrained by the value of RotationMin.

To access this property do: RotationMinY.Get(). To set this property do: RotationMinY.Set(FbxBool).

Default value is false.

Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1537 of file fbxnode.h.

◆ RotationMinZ

FbxPropertyT<FbxBool> RotationMinZ

This property enables or disables the limit on rotation Z.

When set to true, the object rotation is constrained by the value of RotationMin.

To access this property do: RotationMinZ.Get(). To set this property do: RotationMinZ.Set(FbxBool).

Default value is false.

Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1547 of file fbxnode.h.

◆ RotationMaxX

FbxPropertyT<FbxBool> RotationMaxX

This property enables or disables the limit on rotation X.

When set to true, the object rotation is constrained by the value of RotationMax.

To access this property do: RotationMaxX.Get(). To set this property do: RotationMaxX.Set(FbxBool).

Default value is false.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1557 of file fbxnode.h.

◆ RotationMaxY

FbxPropertyT<FbxBool> RotationMaxY

This property enables or disables the limit on rotation Y.

When set to true, the object rotation is constrained by the value of RotationMax.

To access this property do: RotationMaxY.Get(). To set this property do: RotationMaxY.Set(FbxBool).

Default value is false.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1567 of file fbxnode.h.

◆ RotationMaxZ

FbxPropertyT<FbxBool> RotationMaxZ

This property enables or disables the limit on rotation Z.

When set to true, the object rotation is constrained by the value of RotationMax.

To access this property do: RotationMaxZ.Get(). To set this property do: RotationMaxZ.Set(FbxBool).

Default value is false.

Examples:
ExportScene05/main.cxx, and ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1577 of file fbxnode.h.

◆ InheritType

This property contains inherit type information of the node.

To access this property do: InheritType.Get(). To set this property do: InheritType.Set(FbxTransform::EInheritType).

Default value is eInheritRrSs.

Examples:
Transformations/main.cxx.

Definition at line 1586 of file fbxnode.h.

◆ ScalingActive

FbxPropertyT<FbxBool> ScalingActive

This property enables or disables the limit on scaling.

When set to false the object can scale in any direction without limitations. Else the ScalingMinX, ScalingMinY, ScalingMinZ, ScalingMaxX, ScalingMaxY and ScalingMaxZ flags are used to limit the scaling on each individual axis.

To access this property do: ScalingActive.Get(). To set this property do: ScalingActive.Set(FbxBool).

Default value is false.

Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1600 of file fbxnode.h.

◆ ScalingMin

FbxPropertyT<FbxDouble3> ScalingMin

This property sets the minimum scaling values the object can occupy on each individual axis.

To access this property do: ScalingMin.Get(). To set this property do: ScalingMin.Set(FbxDouble3).

Default value is 0.,0.,0.

Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1609 of file fbxnode.h.

◆ ScalingMax

FbxPropertyT<FbxDouble3> ScalingMax

This property sets the maximum scaling values the object can occupy on each individual axis.

To access this property do: ScalingMax.Get(). To set this property do: ScalingMax.Set(FbxDouble3).

Default value is 1.,1.,1.

Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1618 of file fbxnode.h.

◆ ScalingMinX

FbxPropertyT<FbxBool> ScalingMinX

This property activates or disables the limit on scaling X.

When active, the object scaling is constrained by the value of ScalingMin.

To access this property do: ScalingMinX.Get(). To set this property do: ScalingMinX.Set(FbxBool).

Default value is false.

Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1628 of file fbxnode.h.

◆ ScalingMinY

FbxPropertyT<FbxBool> ScalingMinY

This property enables or disables the limit on scaling Y.

When set to true, the object scaling is constrained by the value of ScalingMin.

To access this property do: ScalingMinY.Get(). To set this property do: ScalingMinY.Set(FbxBool).

Default value is false.

Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1638 of file fbxnode.h.

◆ ScalingMinZ

FbxPropertyT<FbxBool> ScalingMinZ

This property enables or disables the limit on scaling Z.

When set to true, the object scaling is constrained by the value of ScalingMin.

To access this property do: ScalingMinZ.Get(). To set this property do: ScalingMinZ.Set(FbxBool).

Default value is false.

Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1648 of file fbxnode.h.

◆ ScalingMaxX

FbxPropertyT<FbxBool> ScalingMaxX

This property enables or disables the limit on scaling X.

When set to true, the object scaling is constrained by the value of ScalingMax.

To access this property do: ScalingMaxX.Get(). To set this property do: ScalingMaxX.Set(FbxBool).

Default value is false.

Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1658 of file fbxnode.h.

◆ ScalingMaxY

FbxPropertyT<FbxBool> ScalingMaxY

This property enables or disables the limit on scaling Y.

When set to true, the object scaling is constrained by the value of ScalingMax.

To access this property do: ScalingMaxY.Get(). To set this property do: ScalingMaxY.Set(FbxBool).

Default value is false.

Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1668 of file fbxnode.h.

◆ ScalingMaxZ

FbxPropertyT<FbxBool> ScalingMaxZ

This property enables or disables the limit on scaling Z.

When set to true, the object scaling is constrained by the value of ScalingMax.

To access this property do: ScalingMaxZ.Get(). To set this property do: ScalingMaxZ.Set(FbxBool).

Default value is false.

Examples:
ImportScene/DisplayPivotsAndLimits.cxx.

Definition at line 1678 of file fbxnode.h.

◆ GeometricTranslation

FbxPropertyT<FbxDouble3> GeometricTranslation

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 1687 of file fbxnode.h.

◆ GeometricRotation

FbxPropertyT<FbxDouble3> GeometricRotation

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 1696 of file fbxnode.h.

◆ GeometricScaling

FbxPropertyT<FbxDouble3> GeometricScaling

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 1705 of file fbxnode.h.

◆ MinDampRangeX

FbxPropertyT<FbxDouble> MinDampRangeX

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(FbxDouble).

Default value is 0.

Definition at line 1717 of file fbxnode.h.

◆ MinDampRangeY

FbxPropertyT<FbxDouble> MinDampRangeY

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(FbxDouble).

Default value is 0.

Definition at line 1726 of file fbxnode.h.

◆ MinDampRangeZ

FbxPropertyT<FbxDouble> MinDampRangeZ

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(FbxDouble).

Default value is 0.

Definition at line 1735 of file fbxnode.h.

◆ MaxDampRangeX

FbxPropertyT<FbxDouble> MaxDampRangeX

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(FbxDouble).

Default value is 0.

Definition at line 1744 of file fbxnode.h.

◆ MaxDampRangeY

FbxPropertyT<FbxDouble> MaxDampRangeY

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(FbxDouble).

Default value is 0.

Definition at line 1753 of file fbxnode.h.

◆ MaxDampRangeZ

FbxPropertyT<FbxDouble> MaxDampRangeZ

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(FbxDouble).

Default value is 0.

Definition at line 1762 of file fbxnode.h.

◆ MinDampStrengthX

FbxPropertyT<FbxDouble> MinDampStrengthX

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(FbxDouble).

Default value is 0.

Definition at line 1771 of file fbxnode.h.

◆ MinDampStrengthY

FbxPropertyT<FbxDouble> MinDampStrengthY

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(FbxDouble).

Default value is 0.

Definition at line 1780 of file fbxnode.h.

◆ MinDampStrengthZ

FbxPropertyT<FbxDouble> MinDampStrengthZ

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(FbxDouble).

Default value is 0.

Definition at line 1789 of file fbxnode.h.

◆ MaxDampStrengthX

FbxPropertyT<FbxDouble> MaxDampStrengthX

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(FbxDouble).

Default value is 0.

Definition at line 1798 of file fbxnode.h.

◆ MaxDampStrengthY

FbxPropertyT<FbxDouble> MaxDampStrengthY

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(FbxDouble).

Default value is 0.

Definition at line 1807 of file fbxnode.h.

◆ MaxDampStrengthZ

FbxPropertyT<FbxDouble> MaxDampStrengthZ

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(FbxDouble).

Default value is 0.

Definition at line 1816 of file fbxnode.h.

◆ PreferedAngleX

FbxPropertyT<FbxDouble> PreferedAngleX

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(FbxDouble).

Default value is 0.

Definition at line 1825 of file fbxnode.h.

◆ PreferedAngleY

FbxPropertyT<FbxDouble> PreferedAngleY

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(FbxDouble).

Default value is 0.

Definition at line 1834 of file fbxnode.h.

◆ PreferedAngleZ

FbxPropertyT<FbxDouble> PreferedAngleZ

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(FbxDouble).

Default value is 0.

Definition at line 1843 of file fbxnode.h.

◆ LookAtProperty

FbxPropertyT<FbxReference> LookAtProperty

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 1853 of file fbxnode.h.

◆ UpVectorProperty

FbxPropertyT<FbxReference> UpVectorProperty

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 1861 of file fbxnode.h.

◆ Show

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(FbxBool).

Default value is true.

Remarks
  • Because node attributes can be shared by multiple nodes (instances), the FBX SDK provides an utility function FbxScene::SyncShowPropertyForInstance() to propagates the same Show value across all the nodes referencing the node attribute. The applied logic is that as soon as one of these nodes has the Show property set to false, all will be set to false (basically it is an AND operation on all the Show flags).
  • Depending on the support of the Show and Visibility properties that applications will implement, there may be conflicts with these two states. In this case, it is suggested that the Visibility property always overrides the Show.
See also
Visibility property.

Definition at line 1885 of file fbxnode.h.

◆ NegativePercentShapeSupport

FbxPropertyT<FbxBool> NegativePercentShapeSupport

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(FbxBool).

Default value is true.

Definition at line 1894 of file fbxnode.h.

◆ DefaultAttributeIndex

FbxPropertyT<FbxInt> DefaultAttributeIndex

This property contains default attribute index information of the node.

To access this property do: DefaultAttributeIndex.Get(). To set this property do: DefaultAttributeIndex.Set(FbxInt).

Default value is -1.

Definition at line 1903 of file fbxnode.h.

◆ Freeze

This property contains manipulation state information of the node.

To access this property do: Freeze.Get(). To set this property do: Freeze.Set(FbxBool).

Default value is false.

Definition at line 1912 of file fbxnode.h.

◆ LODBox

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(FbxBool).

True: Bounding box False: Geometry object is displayed. Default value is false.

Definition at line 1923 of file fbxnode.h.


The documentation for this class was generated from the following file: