Constraint class.
Definition at line 316 of file fbcharactermanipulator.h.
#include <fbcharactermanipulator.h>
Public Member Functions | |
FBCharacterManipulatorCtrlSet (const char *pName, HIObject pObject=NULL) | |
Constructor. | |
FBCharacter * | GetCharacter () |
Returns the character being manipulated. | |
virtual void | AllocateState (FBCharacter *pCharacter) |
Override this method to allocate the necessary state requires when manipulating a character. | |
virtual void | DeallocateState () |
Override this method to deallocate the state allocate in the AllocateState() function. | |
bool | IsFullBody () |
Determine if the character is in Full Body keying mode. | |
bool | IsBodyPart () |
Determine if the character is in Body Part keying mode. | |
bool | IsReachOverride () |
Determine if the reach override option is enable for the manipulated character. | |
bool | IsStiffnessOverride () |
Determine if the stiffness override option is enable for the manipulated character. | |
bool | IsIKPivotUse () |
Determine if IK pivot are used when manipualting a character. | |
virtual void | SyncCharacter (FBEvaluateInfo *pEvalInfo) |
Synchronize the character after doing a manipulation using this function. | |
FBEffectorId | GetManipulatedEffectorId () |
Find the index of the currently manipulated effector for Translation or Rotation depending of Mode. | |
FBEffectorId | GetManipulatedEffectorIdForRotation () |
Find the index of the currently manipulated effector for Rotation Only. | |
FBEffectorId | GetManipulatedEffectorIdForTranslation () |
Find the index of the currently manipulated effector For Translation. | |
FBEffectorSetID | GetEffectorSet () |
Find the index of the currently manipulated effector set. | |
FBBodyNodeId | GetManipulatedBodyNode () |
Find the index of the currently manipulated effector set. | |
bool | IsDescendantPulling (FBEffectorId pEffectorId) |
Determine if one of the effector's child has a IK Pull value bigger than 0.5 on the current manipulated character. | |
int | GetDescendantEffectorCount (FBEffectorId pEffectorId) |
Return the child effector count of the provided effector based on the skeleton hierarchy. | |
FBEffectorId | GetDescendantEffector (FBEffectorId pEffectorId, int pIndex) |
Return the child effector for the provided effector. | |
float | GetEffectorReachTValue (int pEffectorId) |
Get the reach T (IK Blend T since MotionBuilder 2013) value for a specified effector on the current manipulated character. | |
void | SetEffectorReachTValue (int pEffectorId, float pValue) |
Set the reach T (IK Blend T since MotionBuilder 2013) value for a specified effector on the current manipulated character. | |
float | GetEffectorPullValue (int pEffectorId) |
Get the pull (IK Pull since MotionBuilder 2013) value for a specified effector on the current manipulated character. | |
void | SetEffectorPullValue (int pEffectorId, float pValue) |
Set the pull (IK Pull since MotionBuilder 2013) value for a specified effector on the current manipulated character. | |
void | TranslationSetGlobal (FBTVector pVector, int pEffectorId) |
Set the translation for the specified effector on the current manipulated character in global coordinate. | |
void | TranslationSetLocal (FBTVector pVector, int pEffectorId) |
Set the translation for the specified effector on the current manipulated character in local coordinate. | |
virtual FBManipulationGetResult | TranslationIsEditable (bool &pEditable, FBReferencialType pRefType) |
Returned value will indicate if a translation manipulation can be done. | |
virtual FBManipulationSetResult | TranslationSet (FBTVector &pT, FBReferencialType pRefType, FBSetType pSetType, FBSetWhat pSetWhat) |
Set the value of the translation to the manipulated model. | |
virtual FBManipulationGetResult | TranslationGet (FBTVector &pT, FBReferencialType pRefType, FBManipPivot pPivot=FBManipPivotObjectTranslation) |
Get the translation manipulator position. | |
virtual FBManipulationStartResult | TranslationStartManipulation (FBReferencialType pRefType) |
Called to determine if the manipulation can be done. | |
void | TranslationStopManipulation () |
Called when the manipulation is finished. | |
virtual FBManipulationGetResult | RotationIsEditable (bool &pEditable, FBReferencialType pRefType) |
Returned value will indicate if a rotation manipulation can be done. | |
virtual FBManipulationSetResult | RotationSet (FBMatrix &pRM, FBReferencialType pRefType, FBSetType pSetType, bool pOnlyRoot=false) |
Set the value of the translation to the manipulated model. | |
virtual FBManipulationGetResult | RotationGet (FBMatrix &pRM, FBReferencialType pRefType) |
Get the rotation manipulator position. | |
virtual FBManipulationStartResult | RotationStartManipulation (FBReferencialType pRefType) |
Called to determine if the manipulation can be done. | |
virtual void | RotationStopManipulation () |
Called when the manipulation is finished. | |
virtual FBManipulationGetResult | ScalingIsEditable (bool &pEditable) |
Returned value will indicate if a scaling manipulation can be done. | |
virtual FBManipulationGetResult | ScalingGet (FBSVector &pS, FBReferencialType pRefType) |
Get the scale manipulator position. | |
virtual FBManipulationSetResult | ScalingSet (FBSVector &pS, FBReferencialType pRefType, FBSetType pSetType, FBSetWhat pSetWhat) |
Set the value of the scale to the manipulated model. | |
virtual FBManipulationStartResult | ScalingStartManipulation (FBReferencialType pRefType) |
Called to determine if the manipulation can be done. | |
virtual void | ScalingStopManipulation () |
Called when the manipulation is finished. |
FBCharacterManipulatorCtrlSet | ( | const char * | pName, |
HIObject | pObject = NULL |
||
) |
Constructor.
pName | Name of manipulator. |
pObject | For internal use only (default is NULL). |
FBCharacter* GetCharacter | ( | ) |
Returns the character being manipulated.
virtual void AllocateState | ( | FBCharacter * | pCharacter | ) | [virtual] |
Override this method to allocate the necessary state requires when manipulating a character.
This method is called once when the character is connected to the solver
pCharacter | Character that will be manipulated by the manipulator. |
virtual void DeallocateState | ( | ) | [virtual] |
Override this method to deallocate the state allocate in the AllocateState() function.
This method is called once when the character is disconnected from the solver
bool IsFullBody | ( | ) |
Determine if the character is in Full Body keying mode.
bool IsBodyPart | ( | ) |
Determine if the character is in Body Part keying mode.
bool IsReachOverride | ( | ) |
Determine if the reach override option is enable for the manipulated character.
bool IsStiffnessOverride | ( | ) |
Determine if the stiffness override option is enable for the manipulated character.
bool IsIKPivotUse | ( | ) |
Determine if IK pivot are used when manipualting a character.
virtual void SyncCharacter | ( | FBEvaluateInfo * | pEvalInfo | ) | [virtual] |
Synchronize the character after doing a manipulation using this function.
FBEffectorId GetManipulatedEffectorId | ( | ) |
Find the index of the currently manipulated effector for Translation or Rotation depending of Mode.
FBEffectorId GetManipulatedEffectorIdForRotation | ( | ) |
Find the index of the currently manipulated effector for Rotation Only.
FBEffectorId GetManipulatedEffectorIdForTranslation | ( | ) |
Find the index of the currently manipulated effector For Translation.
FBEffectorSetID GetEffectorSet | ( | ) |
Find the index of the currently manipulated effector set.
FBBodyNodeId GetManipulatedBodyNode | ( | ) |
Find the index of the currently manipulated effector set.
bool IsDescendantPulling | ( | FBEffectorId | pEffectorId | ) |
Determine if one of the effector's child has a IK Pull value bigger than 0.5 on the current manipulated character.
pEffectorId | Effector to verify if his child effectors are pulling. |
int GetDescendantEffectorCount | ( | FBEffectorId | pEffectorId | ) |
Return the child effector count of the provided effector based on the skeleton hierarchy.
pEffectorId | Effector to get to number of child effector of. |
FBEffectorId GetDescendantEffector | ( | FBEffectorId | pEffectorId, |
int | pIndex | ||
) |
Return the child effector for the provided effector.
pEffectorId | Effector to get the child effector of. |
pIndex | Index of the child effector. |
float GetEffectorReachTValue | ( | int | pEffectorId | ) |
Get the reach T (IK Blend T since MotionBuilder 2013) value for a specified effector on the current manipulated character.
pEffectorId | Effector to get the reach value. |
void SetEffectorReachTValue | ( | int | pEffectorId, |
float | pValue | ||
) |
Set the reach T (IK Blend T since MotionBuilder 2013) value for a specified effector on the current manipulated character.
pEffectorId | Effector to set the reach value. |
pValue | New translation reach for the effector. |
float GetEffectorPullValue | ( | int | pEffectorId | ) |
Get the pull (IK Pull since MotionBuilder 2013) value for a specified effector on the current manipulated character.
pEffectorId | Effector to get the IK Pull value. |
void SetEffectorPullValue | ( | int | pEffectorId, |
float | pValue | ||
) |
Set the pull (IK Pull since MotionBuilder 2013) value for a specified effector on the current manipulated character.
pEffectorId | Effector to set the IK Pull value. |
pValue | New IK Pull value for the effector. |
void TranslationSetGlobal | ( | FBTVector | pVector, |
int | pEffectorId | ||
) |
Set the translation for the specified effector on the current manipulated character in global coordinate.
pVector | New translation value. |
pEffectorId | Effector to set the IK Pull value. |
void TranslationSetLocal | ( | FBTVector | pVector, |
int | pEffectorId | ||
) |
Set the translation for the specified effector on the current manipulated character in local coordinate.
pVector | New translation value. |
pEffectorId | Effector to set the IK Pull value. |
virtual FBManipulationGetResult TranslationIsEditable | ( | bool & | pEditable, |
FBReferencialType | pRefType | ||
) | [virtual] |
Returned value will indicate if a translation manipulation can be done.
pEditable | Value to modify to indicate if a manipulation can be done. |
pRefType | Referential of the manipulation. |
Implements FBCharacterManipulator.
virtual FBManipulationSetResult TranslationSet | ( | FBTVector & | pT, |
FBReferencialType | pRefType, | ||
FBSetType | pSetType, | ||
FBSetWhat | pSetWhat | ||
) | [virtual] |
Set the value of the translation to the manipulated model.
pT | New value based on manipulation done by the user. |
pRefType | Referential of the manipulation. |
pSetType | How to apply the provided value. |
pSetWhat | Which component of the provided value to use. |
Implements FBCharacterManipulator.
virtual FBManipulationGetResult TranslationGet | ( | FBTVector & | pT, |
FBReferencialType | pRefType, | ||
FBManipPivot | pPivot = FBManipPivotObjectTranslation |
||
) | [virtual] |
Get the translation manipulator position.
pT | FBTVector value to fill with the translation value. |
pRefType | Referential of the manipulation. |
pPivot | How to consider the pivot if there is one. |
Implements FBCharacterManipulator.
virtual FBManipulationStartResult TranslationStartManipulation | ( | FBReferencialType | pRefType | ) | [virtual] |
Called to determine if the manipulation can be done.
pRefType | Referential of the manipulation. |
Implements FBCharacterManipulator.
void TranslationStopManipulation | ( | ) | [virtual] |
Called when the manipulation is finished.
Implements FBCharacterManipulator.
virtual FBManipulationGetResult RotationIsEditable | ( | bool & | pEditable, |
FBReferencialType | pRefType | ||
) | [virtual] |
Returned value will indicate if a rotation manipulation can be done.
pEditable | Value to modify to indicate if a manipulation can be done. |
pRefType | Referential of the manipulation. |
Implements FBCharacterManipulator.
virtual FBManipulationSetResult RotationSet | ( | FBMatrix & | pRM, |
FBReferencialType | pRefType, | ||
FBSetType | pSetType, | ||
bool | pOnlyRoot = false |
||
) | [virtual] |
Set the value of the translation to the manipulated model.
pRM | New value based on manipulation done by the user. |
pRefType | Referential of the manipulation. |
pSetType | How to apply the provided value. |
pOnlyRoot | Manipulate only root node. |
Implements FBCharacterManipulator.
virtual FBManipulationGetResult RotationGet | ( | FBMatrix & | pRM, |
FBReferencialType | pRefType | ||
) | [virtual] |
Get the rotation manipulator position.
pRM | FBMatrix value to fill with the rotation value. |
pRefType | Referential of the manipulation. |
Implements FBCharacterManipulator.
virtual FBManipulationStartResult RotationStartManipulation | ( | FBReferencialType | pRefType | ) | [virtual] |
Called to determine if the manipulation can be done.
pRefType | Referential of the manipulation. |
Implements FBCharacterManipulator.
virtual void RotationStopManipulation | ( | ) | [virtual] |
Called when the manipulation is finished.
Implements FBCharacterManipulator.
virtual FBManipulationGetResult ScalingIsEditable | ( | bool & | pEditable | ) | [virtual] |
Returned value will indicate if a scaling manipulation can be done.
pEditable | Value to modify to indicate if a manipulation can be done. |
Implements FBCharacterManipulator.
virtual FBManipulationGetResult ScalingGet | ( | FBSVector & | pS, |
FBReferencialType | pRefType | ||
) | [virtual] |
Get the scale manipulator position.
pS | FBSVector value to fill with the scale value. |
pRefType | Referential of the manipulation. |
Implements FBCharacterManipulator.
virtual FBManipulationSetResult ScalingSet | ( | FBSVector & | pS, |
FBReferencialType | pRefType, | ||
FBSetType | pSetType, | ||
FBSetWhat | pSetWhat | ||
) | [virtual] |
Set the value of the scale to the manipulated model.
pS | New value based on manipulation done by the user. |
pRefType | Referential of the manipulation. |
pSetType | How to apply the provided value. |
pSetWhat | Which component of the provided value to use. |
Implements FBCharacterManipulator.
virtual FBManipulationStartResult ScalingStartManipulation | ( | FBReferencialType | pRefType | ) | [virtual] |
Called to determine if the manipulation can be done.
pRefType | Referential of the manipulation. |
Implements FBCharacterManipulator.
virtual void ScalingStopManipulation | ( | ) | [virtual] |
Called when the manipulation is finished.
Implements FBCharacterManipulator.