Constraint class. More...
#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 | IsFullBodyNoPull () |
Determine if the character is in Full Body - No Pull 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) override |
Returned value will indicate if a translation manipulation can be done. | |
virtual FBManipulationSetResult | TranslationSet (FBTVector &pT, FBReferencialType pRefType, FBSetType pSetType, FBSetWhat pSetWhat) override |
Set the value of the translation to the manipulated model. | |
virtual FBManipulationGetResult | TranslationGet (FBTVector &pT, FBReferencialType pRefType, FBManipPivot pPivot=FBManipPivotObjectTranslation) override |
Get the translation manipulator position. | |
virtual FBManipulationStartResult | TranslationStartManipulation (FBReferencialType pRefType, const FBTime *pTime=NULL) override |
Called to determine if the manipulation can be done. | |
void | TranslationStopManipulation () override |
Called when the manipulation is finished. | |
virtual FBManipulationGetResult | RotationIsEditable (bool &pEditable, FBReferencialType pRefType) override |
Returned value will indicate if a rotation manipulation can be done. | |
virtual FBManipulationSetResult | RotationSet (FBMatrix &pRM, FBReferencialType pRefType, FBSetType pSetType, bool pOnlyRoot=false) override |
Set the value of the translation to the manipulated model. | |
virtual FBManipulationGetResult | RotationGet (FBMatrix &pRM, FBReferencialType pRefType) override |
Get the rotation manipulator position. | |
virtual FBManipulationStartResult | RotationStartManipulation (FBReferencialType pRefType) override |
Called to determine if the manipulation can be done. | |
virtual void | RotationStopManipulation () override |
Called when the manipulation is finished. | |
virtual FBManipulationGetResult | ScalingIsEditable (bool &pEditable) override |
Returned value will indicate if a scaling manipulation can be done. | |
virtual FBManipulationGetResult | ScalingGet (FBSVector &pS, FBReferencialType pRefType) override |
Get the scale manipulator position. | |
virtual FBManipulationSetResult | ScalingSet (FBSVector &pS, FBReferencialType pRefType, FBSetType pSetType, FBSetWhat pSetWhat) override |
Set the value of the scale to the manipulated model. | |
virtual FBManipulationStartResult | ScalingStartManipulation (FBReferencialType pRefType) override |
Called to determine if the manipulation can be done. | |
virtual void | ScalingStopManipulation () override |
Called when the manipulation is finished. | |
![]() | |
FBCharacterManipulator (const char *pName, HIObject pObject=NULL) | |
Constructor. | |
virtual FBManipulationGetResult | TranslationIsEditable (bool &pEditable, FBReferencialType pRefType)=0 |
Returned value will indicate if a translation manipulation can be done. | |
virtual FBManipulationSetResult | TranslationSet (FBTVector &pT, FBReferencialType pRefType, FBSetType pSetType, FBSetWhat pSetWhat)=0 |
Set the value of the translation to the manipulated model. | |
virtual FBManipulationGetResult | TranslationGet (FBTVector &pT, FBReferencialType pRefType, FBManipPivot pPivot=FBManipPivotObjectTranslation)=0 |
Get the translation manipulator position. | |
virtual FBManipulationStartResult | TranslationStartManipulation (FBReferencialType pRefType, const FBTime *pTime=NULL)=0 |
Called to determine if the manipulation can be done. | |
virtual void | TranslationStopManipulation ()=0 |
Called when the manipulation is finished. | |
virtual FBManipulationGetResult | RotationIsEditable (bool &pEditable, FBReferencialType pRefType)=0 |
Returned value will indicate if a rotation manipulation can be done. | |
virtual FBManipulationSetResult | RotationSet (FBMatrix &pRM, FBReferencialType pRefType, FBSetType pSetType, bool pOnlyRoot=false)=0 |
Set the value of the translation to the manipulated model. | |
virtual FBManipulationGetResult | RotationGet (FBMatrix &pRM, FBReferencialType pRefType)=0 |
Get the rotation manipulator position. | |
virtual FBManipulationStartResult | RotationStartManipulation (FBReferencialType pRefType)=0 |
Called to determine if the manipulation can be done. | |
virtual void | RotationStopManipulation ()=0 |
Called when the manipulation is finished. | |
virtual FBManipulationGetResult | ScalingIsEditable (bool &pEditable)=0 |
Returned value will indicate if a scaling manipulation can be done. | |
virtual FBManipulationSetResult | ScalingSet (FBSVector &pS, FBReferencialType pRefType, FBSetType pSetType, FBSetWhat pSetWhat)=0 |
Set the value of the scale to the manipulated model. | |
virtual FBManipulationGetResult | ScalingGet (FBSVector &pS, FBReferencialType pRefType)=0 |
Get the scale manipulator position. | |
virtual FBManipulationStartResult | ScalingStartManipulation (FBReferencialType pRefType)=0 |
Called to determine if the manipulation can be done. | |
virtual void | ScalingStopManipulation ()=0 |
Called when the manipulation is finished. | |
bool | IsReleasePinPressed () |
Call this to know if the Button Release is on when manipulating. | |
FBModel * | GetManipulatedNode () |
return the manipulated Model | |
FBManipMode | GetManipulatorMode () |
return the manipulator Mode | |
![]() | |
FBComponent (HIObject pObject) | |
Constructor. | |
virtual | ~FBComponent () |
Destructor. | |
virtual bool | FBCreate () |
Open Reality Creation function. | |
virtual void | FBDestroy () |
Open Reality destruction function. | |
virtual void | FBDelete () override |
Open Reality deletion function. | |
virtual bool | SetHIObject (HIObject pObject, bool pSDKComponent) override |
Assign component to an internal pointer. | |
virtual int | PropertyAdd (FBProperty *pProperty) |
Add a property to the component's property manager. | |
bool | PropertyAddReferenceProperty (FBProperty *pReferenceProperty) |
Add a reference property to the component's property manager. | |
void | PropertyRemove (FBProperty *pProperty) |
Remove a Property from the component's Property manager. | |
void | PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags) |
Get list of properties which have been modified since last loading. | |
FBProperty * | PropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL) |
Create user or dynamic property. | |
FBObjectFlag | GetObjectFlags () |
Get all Object Flags (concatenated). | |
void | SetObjectFlags (FBObjectFlag pFlags) |
SetObjectFlags. | |
bool | HasObjectFlags (FBObjectFlag pFlags) |
Check whether a specific object flag is enabled. | |
void | EnableObjectFlags (FBObjectFlag pFlags) |
Enable a specific Object Flags. | |
void | DisableObjectFlags (FBObjectFlag pFlags) |
Disable a specific Object Flags. | |
void | SetObjectStatus (FBObjectStatus pStatus, bool pValue) |
Enable/Disable a specific Object Status. | |
bool | GetObjectStatus (FBObjectStatus pStatus) |
Check to see if an object status is enabled. | |
bool | ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true) |
ProcessNamespaceHierarchy. | |
bool | ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true) |
ProcessObjectNamespace. | |
virtual const char * | ClassName () override |
Get the class name. | |
virtual bool | UseCustomPropertyViewSet () const |
Use the custom property viewSet or not. | |
const char * | GetFullName (void) |
Get the full name. | |
void | SetOwnerNamespace (FBNamespace *pOwnerNSObj) |
Set the owner Namespace object. | |
FBNamespace * | GetOwnerNamespace (void) |
Get the owner Namespace object. | |
FBFileReference * | GetOwnerFileReference (void) |
Get the owner FileReference object. | |
void | HardSelect () |
HardSelect. | |
virtual bool | Is (int pTypeId) override |
Returns true if object is of type TypeId. | |
virtual int | GetTypeId () override |
GetTypeId( int pTypeId ) | |
![]() | |
FBScriptWrapper * | GetWrapper () |
Return the wrapper interface of this FBObject. | |
void | AddWrapper (FBScriptWrapper *) |
void | RemoveWrapper (FBScriptWrapper *) |
Additional Inherited Members | |
![]() | |
static int | GetInternalClassId () |
static void | FBComponentSetName (FBComponent *pObject, const char *pName) |
static const char * | FBComponentGetName (FBComponent *pObject) |
static void | FBComponentSetLongName (FBComponent *pObject, const char *pName) |
static const char * | FBComponentGetLongName (FBComponent *pObject) |
![]() | |
FBPropertyManager | PropertyList |
Read Only Property: Manages all of the properties for the component. | |
FBPropertyListComponent | Components |
List: List of components. | |
FBPropertyListComponent | Parents |
List: Parents. | |
FBPropertyBool | Selected |
Read Write Property: Selected property. | |
FBPropertyString | Name |
Read Write Property: Unique name of object. | |
FBPropertyString | LongName |
Read Write Property: Name and namespace for object. | |
FBPropertyFolder | Folder |
Read Write Property: The folder that contain this component. | |
![]() | |
static int | TypeInfo |
Contains the Type information of the object. | |
![]() | |
bool | IsSDKComponent () |
Return whether or not item is an SDK component. | |
bool | ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a source connection. | |
bool | ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a destination connection. | |
bool | ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a source connection. | |
bool | ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone) |
Add a destination connection. | |
bool | DisconnectDst (FBPlug *pDst) |
Remove a destination connection. | |
bool | DisconnectSrc (FBPlug *pSrc) |
Remove a source connection. | |
void | DisconnectAllSrc () |
Remove all source connections. | |
void | DisconnectAllDst () |
Remove all destination connections. | |
bool | DisconnectDstAt (int pIndex) |
Remove a destination connection at a specified index. | |
bool | DisconnectSrcAt (int pIndex) |
Remove a source connection at a specified index. | |
bool | ReplaceDstAt (int pIndex, FBPlug *pDst) |
Replace a destination connection at a specified index. | |
bool | ReplaceSrcAt (int pIndex, FBPlug *pSrc) |
Replace a source connection at a specified index. | |
bool | SwapSrc (int pIndexA, int pIndexB) |
Swap source connection at index A with source connection at index B. | |
bool | MoveSrcAt (int pIndex, int pAtIndex) |
Move source connection at pIndex to pAtIndex. | |
bool | MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc) |
Move source connection pSrc to the position of pAtSrc. | |
int | GetSrcCount () |
Get source connection count. | |
FBPlug * | GetSrc (int pIndex) |
Get a source connection's plug at specified index. | |
FBConnectionType | GetSrcType (int pIndex) |
Get a source connection's type at specified index. | |
int | GetDstCount () |
Get destination connection count. | |
FBPlug * | GetDst (int pIndex) |
Get a destination connection's plug at specified index. | |
FBConnectionType | GetDstType (int pIndex) |
Get a destination connection's type at specified index. | |
bool | BeginChange () |
Begins a change on multiple plugs. | |
void | EndChange () |
Ends a change on multiple plugs. | |
void | SetSelfModified (FBPlugModificationFlag pFlag, bool pBool) |
Set the plug's self modification flag. | |
bool | GetSelfModified (FBPlugModificationFlag pFlag) |
Tell if the plug's self has changed. | |
void | SetContentModified (FBPlugModificationFlag pFlag, bool pBool) |
Set the plug's owned property/object's modification flag. | |
bool | GetContentModified (FBPlugModificationFlag pFlag) |
Tell if the plug's content has changed. | |
int | GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove) |
Get plug's modified src/dst property/object connection added/removed List. | |
bool | RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask) |
Revert the plug's modification to original status. | |
void | SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue) |
Set the plug's status flag. | |
bool | GetStatusFlag (FBPlugStatusFlag pStatus) const |
Tell if the plug's status has changed. | |
FBPlug * | GetOwner () |
Get the owner of this plug. | |
FBPlug * | GetOwned (int pIndex) |
Get the owned plug at specified index. | |
int | GetOwnedCount () |
Get the owned plug count. | |
virtual const char * | ClassName () |
internal System vars. | |
virtual bool | Is (int pTypeId) |
Is( int pTypeId ) | |
virtual int | GetTypeId () |
GetTypeId( int pTypeId ) | |
virtual bool | PlugDataNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0) |
PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only. | |
virtual bool | PlugStateNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0) |
PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only. | |
virtual bool | PlugNotify (FBConnectionAction pAction, FBPlug *pThis, int pIndex, FBPlug *pPlug=NULL, FBConnectionType pConnectionType=kFBConnectionTypeNone, FBPlug *pNewPlug=NULL) |
PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only. | |
virtual void | FBDelete () |
Actual destructor for a FBPlug. | |
![]() | |
static int | GetInternalClassId () |
Internal class Id. | |
![]() | |
bool | mAllocated |
Contain the Allocation State of the Component. | |
HIObject | mObject |
Handle on the Plug. | |
bool | mSDKComponent |
bool Plug is an SDK component. | |
![]() | |
static const char * | ClassGroupName |
ClassGroupName of the object. | |
static int | TypeInfo |
TypeInfo. | |
static int | mGlobalTypeInfo |
Represente the Type Index. | |
Constraint class.
Definition at line 316 of file fbcharactermanipulator.h.
FBCharacterManipulatorCtrlSet | ( | const char * | pName, |
HIObject | pObject = NULL |
||
) |
Constructor.
pName | Name of manipulator. |
pObject | For internal use only (default is NULL). |
|
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 |
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
FBCharacter * GetCharacter | ( | ) |
Returns the character being manipulated.
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. |
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. |
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. |
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. |
FBEffectorSetID GetEffectorSet | ( | ) |
Find the index of the currently manipulated effector set.
FBBodyNodeId GetManipulatedBodyNode | ( | ) |
Find the index of the currently manipulated effector set.
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.
bool IsBodyPart | ( | ) |
Determine if the character is in Body Part keying mode.
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. |
bool IsFullBody | ( | ) |
Determine if the character is in Full Body keying mode.
bool IsFullBodyNoPull | ( | ) |
Determine if the character is in Full Body - No Pull keying mode.
bool IsIKPivotUse | ( | ) |
Determine if IK pivot are used when manipualting a character.
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.
|
overridevirtual |
Get the rotation manipulator position.
pRM | FBMatrix value to fill with the rotation value. |
pRefType | Referential of the manipulation. |
Implements FBCharacterManipulator.
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
Called to determine if the manipulation can be done.
pRefType | Referential of the manipulation. |
Implements FBCharacterManipulator.
|
overridevirtual |
Called when the manipulation is finished.
Implements FBCharacterManipulator.
|
overridevirtual |
Get the scale manipulator position.
pS | FBSVector value to fill with the scale value. |
pRefType | Referential of the manipulation. |
Implements FBCharacterManipulator.
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
Called to determine if the manipulation can be done.
pRefType | Referential of the manipulation. |
Implements FBCharacterManipulator.
|
overridevirtual |
Called when the manipulation is finished.
Implements FBCharacterManipulator.
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 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. |
|
virtual |
Synchronize the character after doing a manipulation using this function.
|
overridevirtual |
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.
|
overridevirtual |
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.
|
overridevirtual |
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.
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. |
|
overridevirtual |
Called to determine if the manipulation can be done.
pRefType | Referential of the manipulation. |
Implements FBCharacterManipulator.
|
overridevirtual |
Called when the manipulation is finished.
Implements FBCharacterManipulator.