#include
<fbcharactermanipulator.h>
Definition at line 316 of file fbcharactermanipulator.h.
Public Member Functions |
|
FBCharacterManipulatorCtrlSet (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 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 value for a specified
effector on the current manipulated character. |
|
void | SetEffectorReachTValue (int pEffectorId, float pValue) |
Set the reach T value for a specified
effector on the current manipulated character. |
|
float | GetEffectorPullValue (int pEffectorId) |
Get the pull value for a specified effector
on the current manipulated character. |
|
void | SetEffectorPullValue (int pEffectorId, float pValue) |
Set the pull 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 | ( | 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 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 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 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 value for a specified effector on the current manipulated character.
pEffectorId | Effector to get the pull value. |
void SetEffectorPullValue | ( | int | pEffectorId, | |
float | pValue | |||
) |
Set the pull value for a specified effector on the current manipulated character.
pEffectorId | Effector to set the pull value. | |
pValue | New 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 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 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.