13 #ifndef _FBXSDK_SCENE_CONSTRAINT_CHARACTER_H_
14 #define _FBXSDK_SCENE_CONSTRAINT_CHARACTER_H_
39 eControlSetEffectorAux
72 #ifndef DOXYGEN_SHOULD_SKIP_THIS
372 eRollExtractionTypeCount
379 eHipsTranslationTypeCount
388 eFootContactModeCount
397 eHandContactModeCount
405 eFingerContactModeCount
413 eContactBehaviorCount
445 void SetInput(EInputType pInputType,
FbxObject* pInputObject =
NULL);
448 EInputType GetInputType()
const;
464 bool SetCharacterLink(ENodeId pCharacterNodeId,
const FbxCharacterLink& pCharacterLink,
bool pUpdateObjectList =
true);
482 static int GetCharacterGroupCount(EGroupId pCharacterGroupId);
489 static ENodeId GetCharacterGroupElementByIndex(EGroupId pCharacterGroupId,
int pIndex);
497 static char* GetCharacterGroupNameByIndex(EGroupId pCharacterGroupId,
int pIndex);
504 static int GetCharacterGroupVersionByIndex(EGroupId pCharacterGroupId,
int pIndex);
513 static bool FindCharacterGroupIndexByName(
const char* pName,
bool pForceGroupId, EGroupId& pCharacterGroupId,
int& pIndex);
522 static bool GetCharacterGroupIndexByElement(ENodeId pCharacterNodeId, EGroupId& pCharacterGroupId,
int& pIndex);
530 static bool GetCharacterGroupVersionByElement(ENodeId pCharacterNodeId,
int& pVersion);
539 static bool GetCharacterNodeNameFromNodeId(ENodeId pCharacterNodeId,
char*& pName);
546 static bool GetCharacterNodeIdFromNodeName(
const char* pName, ENodeId& pCharacterNodeId);
793 #ifndef DOXYGEN_SHOULD_SKIP_THIS
794 void SetVersion(
int pVersion){ mCharacterVersion = pVersion; }
795 int Version(){
return mCharacterVersion; }
796 void SetValuesFromLegacyLoad();
797 void SetValuesForLegacySave(
int pVersion);
798 void RestoreValuesFromLegacySave();
801 int GetPropertyInfoCount();
802 void GetPropertyInfo(
char* &pCharacterPropertyName,
char* &pCharacterPropertyModeName, EPropertyUnit &pUnit,
int &pPropertyIndex,
char* &pHIKPropertyName,
char* &pHIKPropertyModeName,
int pIndex)
const;
803 void GetFbxCharacterPropertyFromHIKProperty(
char* &pCharacterPropertyName,
char* &pCharacterPropertyModeName, EPropertyUnit &pUnit,
int &pPropertyIndex,
const char* pHIKPropertyName)
const;
812 virtual void Destruct(
bool pRecursive);
817 virtual bool ConnectNotify (FbxConnectEvent
const &pEvent);
822 int mCharacterVersion;
FbxPropertyT< FbxDouble > CtrlResistCompressionFactorRightKnee
FbxPropertyT< FbxDouble > RightFootMiddleTip
FbxPropertyT< FbxDouble > AnkleStabilizationPerimeter
#define FBXSDK_OBJECT_DECLARE(Class, Parent)
Macro used to declare a new class derived from FbxObject.
FbxPropertyT< FbxDouble > RightUpLegRoll
FbxPropertyT< FbxBool > LeftKneeKillPitch
FbxPropertyT< FbxDouble > HeadReduction
FbxPropertyT< FbxDouble > FootMiddleToAnkle
FbxPropertyT< FbxDouble > CollarReduction
FbxPropertyT< FbxDouble > HipsDisplacementDamping
FBX SDK environment definition.
FbxPropertyT< FbxDouble > HandFrontToMiddle
FbxPropertyT< FbxDouble > DisplacementMemory
FbxPropertyT< FbxDouble > ReachActorLeftToesBaseRotation
FbxPropertyT< FbxBool > ApplyLimits
FbxPropertyT< FbxDouble > RightLegRoll
FbxPropertyT< FbxDouble > HandContactStiffness
FbxPropertyT< EOffAutoUser > HipsHeightCompensationMode
FbxVector4 mParentROffset
Get offset scale of this character link.
FbxPropertyT< FbxDouble > FootBackToAnkle
FbxPropertyT< FbxDouble > RightHandExtraFingerTip
FbxPropertyT< FbxDouble > SnSReachLeftWrist
FbxPropertyT< FbxBool > MirrorMode
FbxPropertyT< FbxInt > PullIterationCount
FbxPropertyT< EFingerContactMode > HandFingerContactMode
FbxPropertyT< FbxDouble > NeckReduction
FbxPropertyT< FbxBool > WriteReference
FbxPropertyT< FbxDouble > Stabilization
FbxPropertyT< FbxDouble > RightHandIndexTip
FbxPropertyT< FbxDouble > ReachActorLeftFingerBaseRotation
FbxPropertyT< FbxDouble > ReachActorRightWristRotation
FbxPropertyT< EOffAutoUser > AnkleStabilizationAngularPerimeterMode
FbxPropertyT< FbxDouble > ReachActorRightFingerBase
FbxPropertyT< FbxDouble > LeftFootThumbTip
FbxPropertyT< FbxDouble > RightLegRollEx
FbxPropertyT< FbxBool > LeftUpLegRollMode
FbxVector4 mPostRotation
Get the PreRotation of this character link.
FbxPropertyT< FbxDouble > FootBottomToAnkle
FbxPropertyT< FbxDouble > LeftUpLegRoll
FbxPropertyT< FbxDouble > LeftLegRoll
FbxPropertyT< FbxDouble > LeftForeArmRoll
FbxPropertyT< FbxDouble > ReachActorChest
int mRotOrder
Get the PostRotation of this character link.
FbxPropertyT< FbxBool > RightUpLegRollExMode
FbxPropertyT< FbxDouble > CtrlPullLeftElbow
virtual FbxObject & Copy(const FbxObject &pObject)
Copy an object content into this object.
Array that stores pairs of FbxString and a pointer.
ECloneType
Types of clones that can be created for FbxObject.
Utility class to manipulate strings.
FbxPropertyT< FbxDouble > FootInToAnkle
FbxPropertyT< FbxDouble > CollarStiffnessX
FbxPropertyT< FbxBool > LeftElbowKillPitch
FbxPropertyT< FbxDouble > Damping
FbxLimits mRLimits
true if this character link has a defined rotation space
FbxPropertyT< FbxDouble > RightFootRingTip
FbxPropertyT< FbxDouble > CtrlPullLeftHand
FbxPropertyT< FbxDouble > HandContactSize
FbxPropertyT< EOffAutoUser > AnkleStabilizationRecoveryTimeMode
FbxPropertyT< FbxDouble > RightFootExtraFingerTip
FbxPropertyT< FbxDouble > ReachActorChestRotation
FbxPropertyT< FbxDouble > RightHandThumbTip
FbxPropertyT< FbxBool > Characterize
FbxPropertyT< FbxDouble > AnkleStabilizationTime
FbxPropertyT< FbxDouble > ReachActorLeftToesBase
FbxPropertyT< FbxBool > LeftForeArmRollMode
FbxPropertyT< FbxDouble > SnSScaleArmsAndLegs
FbxPropertyT< FbxDouble > LeftHandPinkyTip
FbxPropertyT< FbxBool > RightForeArmRollMode
bool mHasRotSpace
Get the parent offset rotation of this character link.
FbxPropertyT< FbxDouble > AnkleHeightCompensation
FbxPropertyT< FbxDouble > AnkleDisplacementDamping
FbxPropertyT< EFloorPivot > HandFloorPivot
FbxPropertyT< FbxBool > ForceActorSpace
FbxPropertyT< FbxDouble > CtrlResistLeftKnee
FbxPropertyT< FbxDouble > CtrlPullRightFingerBase
FbxPropertyT< FbxDouble > CtrlResistLeftCollar
virtual EType GetConstraintType() const
Access the type of the constraint.
FbxPropertyT< FbxDouble > CtrlResistHipsOrientation
FbxPropertyT< FbxDouble > ExtraCollarRatio
FbxPropertyT< FbxBool > RightElbowKillPitch
FbxPropertyT< FbxBool > LeftForeArmRollExMode
FbxPropertyT< FbxDouble > HandBackToWrist
FbxPropertyT< FbxDouble > LeftLegRollEx
FbxPropertyT< FbxReference > Actor
FbxPropertyT< FbxDouble > DisplacementDamping
FbxPropertyT< FbxBool > RightUpLegRollMode
FbxPropertyT< FbxDouble > LeftArmMaxExtensionAngle
FbxPropertyT< FbxDouble > SnSSpineFreedom
FbxPropertyT< FbxDouble > RightHandPinkyTip
FbxPropertyT< FbxDouble > ReachActorHeadRotation
FbxPropertyT< FbxDouble > SnSScaleNeck
FbxPropertyT< FbxDouble > CtrlNeckStiffness
FbxPropertyT< FbxDouble > CtrlResistRightKnee
FbxPropertyT< FbxBool > LockPick
FbxPropertyT< FbxDouble > ChestReduction
FbxPropertyT< FbxBool > HandFloorContact
ENodeId
Define ID for each character node.
FbxPropertyT< FbxBool > FootFloorContact
FbxPropertyT< FbxDouble > RightLegMaxExtensionAngle
FbxPropertyT< FbxDouble > ReachActorRightToesBase
FbxPropertyT< FbxDouble > LeftFootPinkyTip
FbxPropertyT< EHipsTranslationMode > HipsTranslationMode
FbxPropertyT< FbxDouble > HandBottomToWrist
FbxPropertyT< FbxDouble > ReachActorLeftFingerBase
FbxPropertyT< FbxDouble > SnSScaleSpine
FbxPropertyT< FbxDouble > AnkleStabilizationDamping
FbxPropertyT< FbxDouble > LeftFootRingTip
Base class for weighted animation constraints.
FbxPropertyT< FbxDouble > CtrlEnforceGravity
FbxPropertyT< FbxDouble > ReachActorHead
FbxPropertyT< FbxDouble > SnSNeckFreedom
FbxPropertyT< EOffAutoUser > ScaleCompensationMode
FbxPropertyT< EOffAutoUser > AnkleStabilizationFloorProximityMode
FbxPropertyT< FbxDouble > RightArmRollEx
FbxVector4 mOffsetS
Get offset rotation of this character link.
FbxPropertyT< FbxDouble > FootContactStiffness
FbxPropertyT< FbxDouble > HikVersion
FbxPropertyT< FbxDouble > CtrlResistMaximumExtensionRightElbow
FbxPropertyT< FbxDouble > SnSReachRightWrist
FbxPropertyT< FbxDouble > ReachActorRightElbow
FbxPropertyT< FbxBool > LeftArmRollMode
FbxPropertyT< EAutoUser > AnkleStabilizationTimeMode
FbxPropertyT< FbxDouble > CtrlResistMaximumExtensionRightKnee
FbxPropertyT< FbxDouble > LeftFootMiddleTip
FbxPropertyT< FbxBool > HandAutomaticFingers
FbxPropertyT< FbxDouble > ReachActorLeftWrist
FbxPropertyT< EOffAutoUser > AnkleHeightCompensationMode
FbxPropertyT< FbxDouble > HipsHeightCompensation
EFbxType
Type identifier constants.
FbxPropertyT< FbxDouble > ReachActorLeftWristRotation
FbxPropertyT< FbxDouble > CtrlChestPullLeftHand
FbxPropertyT< FbxBool > FootAutomaticToes
FbxPropertyT< FbxDouble > CollarStiffnessY
FbxPropertyT< EAutoUser > AnkleDisplacementDampingMode
FbxPropertyT< FbxDouble > CtrlPullLeftFingerBase
FbxPropertyT< FbxDouble > LeftHandExtraFingerTip
FbxPropertyT< FbxDouble > CollarStiffnessZ
FbxPropertyT< FbxDouble > ReachActorRightToesBaseRotation
The base class of most FBX objects.
FbxPropertyT< FbxDouble > ReachActorRightKnee
FbxPropertyT< FbxDouble > StretchStopArmsAndLegs
FbxLimits defines a limit range for one transform component, either translation, rotation or scaling...
FbxPropertyT< FbxDouble > CtrlPullRightHand
FbxVector4 mPreRotation
Get the rotation limits of this character link.
FbxPropertyT< FbxBool > RightArmRollExMode
FbxPropertyT< FbxDouble > ReachActorLeftAnkle
FbxPropertyT< FbxBool > RightLegRollMode
FbxPropertyT< EContactBehaviour > ContactBehaviour
FbxPropertyT< EAutoUser > AnkleStabilizationPerimeterMode
Represents an element in the scene graph.
FbxPropertyT< FbxDouble > ReachActorLeftAnkleRotation
FbxPropertyT< FbxDouble > CtrlPullRightKnee
FbxPropertyT< FbxDouble > RightFootIndexTip
FbxPropertyT< FbxDouble > RightUpLegRollEx
FbxPropertyT< FbxBool > RightLegRollExMode
FbxPropertyT< FbxDouble > LeftUpLegRollEx
FbxPropertyT< FbxDouble > LeftHandIndexTip
FbxPropertyT< FbxDouble > ReachActorRightAnkle
FbxPropertyT< FbxDouble > AnkleStabilizationAngularPerimeter
This class represents a link between a given FBX node and the associated node in the character hierar...
FbxPropertyT< FbxBool > SyncMode
FbxPropertyT< FbxDouble > SnSReachChestEnd
FbxPropertyT< FbxDouble > CtrlPullLeftKnee
virtual void Construct(const FbxObject *pFrom)
Optional constructor override, automatically called by default constructor.
FbxPropertyT< EOffAutoUser > AnkleProximityCompensationMode
FbxPropertyT< EFootContactType > FootContactType
FbxPropertyT< FbxBool > LeftUpLegRollExMode
FbxString mTemplateName
The character's node in hierarchy linked to this character link.
FbxPropertyT< FbxDouble > CtrlResistRightElbow
FbxPropertyT< FbxDouble > RealisticShoulder
FbxPropertyT< FbxBool > RightArmRollMode
FbxPropertyT< FbxDouble > HandMiddleToWrist
FbxPropertyT< FbxDouble > ReachActorLowerChestRotation
FbxPropertyT< FbxDouble > OrientationDamping
FbxPropertyT< FbxDouble > RightFootThumbTip
FbxPropertyT< EHandContactType > HandContactType
FbxPropertyT< FbxDouble > RightForeArmRoll
FbxPropertyT< FbxBool > LeftLegRollExMode
FbxPropertyT< FbxDouble > ReachActorRightAnkleRotation
FbxPropertyT< FbxDouble > LeftHandMiddleTip
FbxPropertyT< FbxBool > RightForeArmRollExMode
FbxVector4 mOffsetT
A template name is a naming convention that is used to automatically map the nodes of other skeletons...
FbxPropertyT< FbxBool > LeftArmRollExMode
FbxPropertyT< FbxDouble > SnSReachHead
FbxPropertyT< FbxBool > RightKneeKillPitch
FbxPropertyT< FbxDouble > ReachActorRightFingerBaseRotation
FbxPropertyT< FbxDouble > CtrlResistRightCollar
FbxPropertyT< FbxDouble > LeftFootExtraFingerTip
FbxPropertyT< FbxDouble3 > HipsTOffset
FbxPropertyT< FbxDouble > RightFootPinkyTip
FbxPropertyT< EOffAutoUser > OrientationDampingMode
FbxPropertyT< FbxDouble3 > ChestTOffset
Class to hold user properties.
FbxPropertyT< FbxDouble > HandFingerContactRollStiffness
FbxPropertyT< FbxDouble > ScaleCompensation
FbxPropertyT< FbxReference > DestinationObject
FbxPropertyT< FbxDouble > CtrlPullLeftToeBase
FbxPropertyT< FbxDouble > CtrlPullLeftFoot
A four double mathematic vector class.
FbxPropertyT< FbxDouble > CtrlResistHipsPosition
FbxPropertyT< EFloorPivot > FootFloorPivot
FbxPropertyT< EOffAutoUser > AnkleStabilizationDampingMode
FbxPropertyT< FbxDouble > CtrlResistChestPosition
FbxPropertyT< FbxDouble > ReachActorLeftKnee
FbxPropertyT< FbxDouble > ShoulderCorrection
FbxPropertyT< FbxBool > HandFingerContact
virtual FbxObject * Clone(FbxObject::ECloneType pCloneType=eDeepClone, FbxObject *pContainer=((void *) 0), void *pSet=((void *) 0)) const
Creates a clone of this object.
FbxPropertyT< EOffAutoUser > DisplacementDampingMode
FbxPropertyT< FbxDouble > ReachActorRightWrist
FbxPropertyT< FbxDouble > FootContactSize
FbxPropertyT< FbxDouble > AnkleProximityCompensation
FbxPropertyT< FbxDouble > LeftHandRingTip
FbxPropertyT< FbxDouble > StretchStartArmsAndLegs
FbxPropertyT< FbxDouble > LeftFootIndexTip
FbxPropertyT< FbxDouble > SnSReachLeftAnkle
FbxPropertyT< FbxDouble > CtrlResistCompressionFactorRightElbow
FbxPropertyT< FbxDouble > CtrlPullHead
FbxPropertyT< FbxDouble > RightHandMiddleTip
FbxPropertyT< FbxDouble > CtrlPullRightElbow
FbxPropertyT< EPostureMode > Posture
This class contains all methods to either set-up an exported control rig or query information on an i...
FbxPropertyT< FbxDouble > CtrlChestPullRightHand
FbxPropertyT< FbxBool > LeftLegRollMode
FbxPropertyT< FbxDouble > ReachActorLeftElbow
EFbxType FbxTypeOf(const FbxCharacter::EOffAutoUser &)
FbxPropertyT< EFingerContactMode > FootFingerContactMode
FbxPropertyT< ERollExtractionMode > RollExtractionMode
FbxPropertyT< FbxDouble > LeftArmRoll
FbxPropertyT< FbxDouble > CtrlPullRightFoot
FbxPropertyT< FbxDouble > MassCenterCompensation
A Character is a person or animal with pre-defined skeleton system.
FbxPropertyT< FbxDouble > AnkleStabilizationRecoveryTime
FbxPropertyT< FbxBool > FingerSolving
FbxPropertyT< FbxDouble > SnSReachRightAnkle
FbxPropertyT< FbxDouble > CtrlResistMaximumExtensionLeftKnee
FbxPropertyT< EAutoUser > HipsDisplacementDampingMode
FbxPropertyT< FbxBool > LockXForm
FbxPropertyT< EAutoUser > DisplacementMemoryMode
FbxPropertyT< FbxBool > FootFingerContact
FbxPropertyT< FbxDouble > CtrlResistLeftElbow
FbxPropertyT< FbxDouble > RightArmMaxExtensionAngle
FbxPropertyT< FbxDouble > WristDisplacementDamping
FbxPropertyT< EAutoUser > WristDisplacementDampingMode
FbxPropertyT< FbxDouble > CtrlResistMaximumExtensionLeftElbow
FbxPropertyT< FbxDouble > AnkleStabilizationFloorProximity
virtual void Destruct(bool pRecursive)
Optional destructor override, automatically called by default destructor.
FbxPropertyT< FbxDouble > CtrlPullRightToeBase
FbxPropertyT< FbxDouble > LeftLegMaxExtensionAngle
FbxPropertyT< FbxDouble > HandInToWrist
FbxPropertyT< FbxDouble > RightArmRoll
EInputType
Character input type.
FbxPropertyT< FbxDouble > FootOutToAnkle
FbxPropertyT< FbxDouble > LeftArmRollEx
FbxPropertyT< FbxDouble > RightForeArmExRoll
FbxPropertyT< FbxDouble > RightHandRingTip
FbxPropertyT< FbxDouble > CtrlResistChestOrientation
FbxPropertyT< FbxReference > ControlSet
EGroupId
Define ID for character groups that contains multiple character nodes.
FbxPropertyT< FbxDouble > LeftForeArmRollEx
FbxPropertyT< FbxDouble > CtrlResistCompressionFactorLeftElbow
FbxPropertyT< FbxDouble > CtrlSpineStiffness
FbxPropertyT< FbxDouble > FootFrontToMiddle
FbxPropertyT< FbxDouble > CtrlResistCompressionFactorLeftKnee
EType
Character link type.
FbxPropertyT< FbxDouble > FootFingerContactRollStiffness
virtual void ConstructProperties(bool pForceSet)
Optional property constructor override, automatically called by default constructor.
FbxPropertyT< FbxReference > Character
double mAxisLen
Get the rotation order of this character link.
FbxPropertyT< FbxDouble > SnSScaleSpineChildren
FbxVector4 mOffsetR
Get offset position of this character link.
FbxPropertyT< FbxDouble > HandOutToWrist
FbxPropertyT< FbxReference > SourceObject
FbxPropertyT< FbxDouble > LeftHandThumbTip