Open Reality Reference Guide
FBObjectPose Class Reference

FBObjectPose class. More...

#include <fbobjectpose.h>

Inheritance diagram for FBObjectPose:

Public Member Functions

 FBObjectPose (const char *pName, HIObject pObject=NULL)
 Public constructor. More...
 
void ClearPose ()
 Clear all the data of the pose. More...
 
bool IsPropertyPoseable (FBProperty &pProperty)
 Is the property poseable? More...
 
FBStringList GetStoredObjectNames ()
 Get all the object names currently stored in this pose. More...
 
void CopyObjectPose (const char *pObjectName, FBComponent &pObject)
 Copy the pose of all the properties of an object. More...
 
void CopyPropertyPose (const char *pObjectName, FBProperty &pProperty)
 Copy the pose of a property of an object. More...
 
void PasteObjectPose (const char *pObjectName, FBComponent &pObject)
 Paste the pose of all the properties of an object. More...
 
void PastePropertyPose (const char *pObjectName, FBProperty &pProperty)
 Paste the pose of a property of an object. More...
 
void SetPropertyValue (const char *pObjectName, const char *pPropertyName, double *pValue, int pSize)
 Set the value of a property in the pose. More...
 
void GetPropertyValue (double *pValue, int pSize, const char *pObjectName, const char *pPropertyName)
 Get the value of a property stored in the pose. More...
 
bool IsPropertyStored (const char *pObjectName, const char *pPropertyName)
 Is the property stored in the pose? More...
 
void CopyTransform (const char *pObjectName, FBComponent &pObject, FBObjectPoseOptions &pObjectPoseOptions)
 Copy the transform of an object. More...
 
void PasteTransform (const char *pObjectName, FBComponent &pObject, FBObjectPoseOptions &pObjectPoseOptions, FBEvaluateInfo *pEvaluateInfo=NULL)
 Paste the transform of an object. More...
 
void SetTransform (FBTVector &pT, FBMatrix &pRM, FBMatrix &pSM, const char *pObjectName, FBPoseTransformType pPoseTransformType)
 Set the transform of an object in the pose. More...
 
bool GetTransform (FBTVector &pT, FBMatrix &pRM, FBMatrix &pSM, const char *pObjectName, FBPoseTransformType pPoseTransformType)
 Get the transform of an object in the pose. More...
 
bool IsTransformStored (const char *pObjectName, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Is the transform of this object stored in the specified TransformType? More...
 
void MultTransformAllObjects (FBMatrix &pGX, FBModelTransformationType pTransformAttribute, FBPoseTransformType pPoseTransformType)
 Multiply the transform of all objects in the pose. More...
 
void MultTransform (const char *pObjectName, FBMatrix &pGX, FBModelTransformationType pTransformAttribute, FBPoseTransformType pPoseTransformType)
 Multiply the transform of an objects in the pose. More...
 
void MirrorPoseAllObjects (FBObjectPoseMirrorOptions &pObjectPoseMirrorOptions)
 Mirror the transform of all objects in the pose. More...
 
void MirrorPose (const char *pObjectName, FBObjectPoseMirrorOptions &pObjectPoseMirrorOptions)
 Mirror the transform of an object in the pose. More...
 
void RemoveStanceOffsetAllObjects (FBObjectPose &pStancePose, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Remove the StanceOffset from all the objects in the pose. More...
 
void RemoveStanceOffset (const char *pObjectName, FBObjectPose &pStancePose, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Remove the StanceOffset from an object in the pose. More...
 
void AddStanceOffsetAllObjects (FBObjectPose &pStancePose, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Add the StanceOffset to all the objects in the pose. More...
 
void AddStanceOffset (const char *pObjectName, FBObjectPose &pStancePose, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Add the StanceOffset to an object in the pose. More...
 
void CopyFrom (FBObjectPose &pFromPose)
 Copy everything from a given object. More...
 
void CopyPoseDataFrom (FBObjectPose &pFromPose)
 Copy all the pose data from a given pose. More...
 
void CopyPoseAllObjectsTransformFrom (FBObjectPose &pFromPose, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Copy all the transforms from a given pose. More...
 
void CopyPoseTransformFrom (FBObjectPose &pFromPose, const char *pObjectName, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Copy the transforms of an object from a given pose. More...
 
- Public Member Functions inherited from FBPose
 FBPose (const char *pName, HIObject pObject=NULL)
 Constructor. More...
 
 IQuery_Declare (override)
 
int GetNodeCount ()
 Returns the number of pose nodes stored. More...
 
int AddNode (FBModel *pObject, FBMatrix *pMatrix=NULL, bool pIsLocalMatrix=false)
 Add a new pose node. More...
 
void RemoveNode (int pIndex)
 Remove the pose node at specified index. More...
 
void SetNodeObject (int pIndex, FBModel *pObject)
 Set the pose node object. More...
 
FBModelGetNodeObject (int pIndex)
 Get the pose node object. More...
 
FBString GetNodeName (int pIndex) const
 Get the pose node at specified index. More...
 
void SetNodeMatrix (int pIndex, FBMatrix *pMatrix)
 Set the pose node matrix. More...
 
FBMatrix GetNodeMatrix (int pIndex) const
 Get the pose node matrix. More...
 
FBMatrix GetNodeMatrixGlobal (int pIndex) const
 Get the global pose node matrix. More...
 
void SetIsNodeLocalMatrix (int pIndex, bool pIsNodeLocalMatrix)
 Set the type of the Matrix for a given node. More...
 
bool IsNodeLocalMatrix (int pIndex)
 Get the type of the Matrix for a given node. More...
 
int Find (FBString pNodeName)
 Look in this pose if the given node is present. More...
 
void CreatePoseThumbnail ()
 Create an image thumbnail for the current pose. More...
 
- Public Member Functions inherited from FBComponent
 FBComponent (HIObject pObject)
 Constructor. More...
 
virtual ~FBComponent ()
 Destructor. More...
 
virtual bool FBCreate ()
 Open Reality Creation function. More...
 
virtual void FBDestroy ()
 Open Reality destruction function. More...
 
virtual void FBDelete () override
 Open Reality deletion function. More...
 
virtual bool SetHIObject (HIObject pObject, bool pSDKComponent) override
 Assign component to an internal pointer. More...
 
virtual int PropertyAdd (FBProperty *pProperty)
 Add a property to the component's property manager. More...
 
bool PropertyAddReferenceProperty (FBProperty *pReferenceProperty)
 Add a reference property to the component's property manager. More...
 
void PropertyRemove (FBProperty *pProperty)
 Remove a Property from the component's Property manager. More...
 
void PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags)
 Get list of properties which have been modified since last loading. More...
 
FBPropertyPropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL)
 Create user or dynamic property. More...
 
FBObjectFlag GetObjectFlags ()
 Get all Object Flags (concatenated). More...
 
void SetObjectFlags (FBObjectFlag pFlags)
 SetObjectFlags. More...
 
bool HasObjectFlags (FBObjectFlag pFlags)
 Check whether a specific object flag is enabled. More...
 
void EnableObjectFlags (FBObjectFlag pFlags)
 Enable a specific Object Flags. More...
 
void DisableObjectFlags (FBObjectFlag pFlags)
 Disable a specific Object Flags. More...
 
void SetObjectStatus (FBObjectStatus pStatus, bool pValue)
 Enable/Disable a specific Object Status. More...
 
bool GetObjectStatus (FBObjectStatus pStatus)
 Check to see if an object status is enabled. More...
 
bool ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessNamespaceHierarchy. More...
 
bool ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessObjectNamespace. More...
 
virtual const char * ClassName () override
 Get the class name. More...
 
virtual bool UseCustomPropertyViewSet () const
 Use the custom property viewSet or not. More...
 
const char * GetFullName (void)
 Get the full name. More...
 
void SetOwnerNamespace (FBNamespace *pOwnerNSObj)
 Set the owner Namespace object. More...
 
FBNamespaceGetOwnerNamespace (void)
 Get the owner Namespace object. More...
 
FBFileReferenceGetOwnerFileReference (void)
 Get the owner FileReference object. More...
 
void HardSelect ()
 HardSelect. More...
 
virtual bool Is (int pTypeId) override
 Returns true if object is of type TypeId. More...
 
virtual int GetTypeId () override
 GetTypeId( int pTypeId ) More...
 
- Public Member Functions inherited from FBWrapperHolder
FBScriptWrapperGetWrapper ()
 Return the wrapper interface of this FBObject. More...
 
void AddWrapper (FBScriptWrapper *)
 
void RemoveWrapper (FBScriptWrapper *)
 

Static Public Member Functions

static void MirrorRetargetPoseAllObjects (FBObjectPose &pDstPose, FBObjectPose &pSrcPose, FBObjectPose &pDstStancePose, FBObjectPose &pSrcStancePose, FBVector4< double > &pMirrorPlaneEquation)
 Mirror the transform of all objects in the SrcPose and retarget the result on the DstPose. More...
 
static void MirrorRetargetPose (FBObjectPose &pDstPose, FBObjectPose &pSrcPose, FBObjectPose &pDstStancePose, FBObjectPose &pSrcStancePose, FBVector4< double > &pMirrorPlaneEquation, const char *pDstObjectName, const char *pSrcObjectName)
 Mirror the transform of an object in the SrcPose and retarget the result on the DstPose. More...
 
static void RetargetPose (FBObjectPose &pDstPose, FBObjectPose &pSrcPose, const char *pDstObjectName, const char *pSrcObjectName)
 Retarget the non-transform properties from the SrcPose to the DstPose. More...
 
- Static Public Member Functions inherited from FBComponent
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)
 

Additional Inherited Members

- Public Attributes inherited from FBPose
FBPropertyPoseType Type
 Read Only Property: Type of the pose (bind pose or rest pose) More...
 
- Public Attributes inherited from FBComponent
FBPropertyManager PropertyList
 Read Only Property: Manages all of the properties for the component. More...
 
FBPropertyListComponent Components
 List: List of components. More...
 
FBPropertyListComponent Parents
 List: Parents. More...
 
FBPropertyBool Selected
 Read Write Property: Selected property. More...
 
FBPropertyString Name
 Read Write Property: Unique name of object. More...
 
FBPropertyString LongName
 Read Write Property: Name and namespace for object.
More...
 
FBPropertyFolder Folder
 Read Write Property: The folder that contain this component. More...
 
- Static Public Attributes inherited from FBComponent
static int TypeInfo
 Contains the Type information of the object. More...
 
- Protected Member Functions inherited from FBPlug
bool IsSDKComponent ()
 Return whether or not item is an SDK component. More...
 
bool ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool DisconnectDst (FBPlug *pDst)
 Remove a destination connection. More...
 
bool DisconnectSrc (FBPlug *pSrc)
 Remove a source connection. More...
 
void DisconnectAllSrc ()
 Remove all source connections. More...
 
void DisconnectAllDst ()
 Remove all destination connections. More...
 
bool DisconnectDstAt (int pIndex)
 Remove a destination connection at a specified index. More...
 
bool DisconnectSrcAt (int pIndex)
 Remove a source connection at a specified index. More...
 
bool ReplaceDstAt (int pIndex, FBPlug *pDst)
 Replace a destination connection at a specified index. More...
 
bool ReplaceSrcAt (int pIndex, FBPlug *pSrc)
 Replace a source connection at a specified index. More...
 
bool SwapSrc (int pIndexA, int pIndexB)
 Swap source connection at index A with source connection at index B. More...
 
bool MoveSrcAt (int pIndex, int pAtIndex)
 Move source connection at pIndex to pAtIndex. More...
 
bool MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc)
 Move source connection pSrc to the position of pAtSrc. More...
 
int GetSrcCount ()
 Get source connection count. More...
 
FBPlugGetSrc (int pIndex)
 Get a source connection's plug at specified index. More...
 
FBConnectionType GetSrcType (int pIndex)
 Get a source connection's type at specified index. More...
 
int GetDstCount ()
 Get destination connection count. More...
 
FBPlugGetDst (int pIndex)
 Get a destination connection's plug at specified index. More...
 
FBConnectionType GetDstType (int pIndex)
 Get a destination connection's type at specified index. More...
 
bool BeginChange ()
 Begins a change on multiple plugs. More...
 
void EndChange ()
 Ends a change on multiple plugs. More...
 
void SetSelfModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's self modification flag. More...
 
bool GetSelfModified (FBPlugModificationFlag pFlag)
 Tell if the plug's self has changed. More...
 
void SetContentModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's owned property/object's modification flag. More...
 
bool GetContentModified (FBPlugModificationFlag pFlag)
 Tell if the plug's content has changed. More...
 
int GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove)
 Get plug's modified src/dst property/object connection added/removed List. More...
 
bool RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask)
 Revert the plug's modification to original status. More...
 
void SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue)
 Set the plug's status flag. More...
 
bool GetStatusFlag (FBPlugStatusFlag pStatus) const
 Tell if the plug's status has changed. More...
 
FBPlugGetOwner ()
 Get the owner of this plug. More...
 
FBPlugGetOwned (int pIndex)
 Get the owned plug at specified index. More...
 
int GetOwnedCount ()
 Get the owned plug count. More...
 
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. More...
 
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. More...
 
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. More...
 
- Static Protected Member Functions inherited from FBPlug
static int GetInternalClassId ()
 Internal class Id. More...
 
- Protected Attributes inherited from FBPlug
bool mAllocated
 Contain the Allocation State of the Component. More...
 
HIObject mObject
 Handle on the Plug. More...
 
bool mSDKComponent
 bool Plug is an SDK component.
More...
 
- Static Protected Attributes inherited from FBPlug
static const char * ClassGroupName
 ClassGroupName of the object. More...
 
static int TypeInfo
 TypeInfo. More...
 
static int mGlobalTypeInfo
 Represente the Type Index. More...
 

Detailed Description

FBObjectPose class.

This class exposes the object used to store the pose of objects.

Definition at line 192 of file fbobjectpose.h.

Constructor & Destructor Documentation

◆ FBObjectPose()

FBObjectPose ( const char *  pName,
HIObject  pObject = NULL 
)

Public constructor.

This constructor is used to create a new object.

Parameters
pNameObject name. If pObject is not NULL, pName will be ignored.
pObjectFor internal use only.

Member Function Documentation

◆ AddStanceOffset()

void AddStanceOffset ( const char *  pObjectName,
FBObjectPose pStancePose,
FBPoseTransformType  pPoseTransformType = kFBPoseTransformInvalid 
)

Add the StanceOffset to an object in the pose.

Remarks
Working with poses with their StanceOffset removed is usefull for retargetting.
If pPoseTransformType is set to kFBPoseTransformInvalid, offsets will be added in all TransformTypes.
Parameters
pObjectNameName of the object.
pStancePosePose representing the stance of all objects.
pPoseTransformTypeTransform type in which to add the offset (Local, Global or LocalRef).

◆ AddStanceOffsetAllObjects()

void AddStanceOffsetAllObjects ( FBObjectPose pStancePose,
FBPoseTransformType  pPoseTransformType = kFBPoseTransformInvalid 
)

Add the StanceOffset to all the objects in the pose.

Remarks
Working with poses with their StanceOffset removed is usefull for retargetting.
If pPoseTransformType is set to kFBPoseTransformInvalid, offsets will be added in all TransformTypes.
Parameters
pStancePosePose representing the stance of all objects.
pPoseTransformTypeTransform type in which to add the offset (Local, Global or LocalRef).

◆ ClearPose()

void ClearPose ( )

Clear all the data of the pose.

◆ CopyFrom()

void CopyFrom ( FBObjectPose pFromPose)

Copy everything from a given object.

Remarks
Will copy everything, including the object name, properties, data etc. Objects will be identical.
Parameters
pFromPosePose from which to copy.

◆ CopyObjectPose()

void CopyObjectPose ( const char *  pObjectName,
FBComponent pObject 
)

Copy the pose of all the properties of an object.

Remarks
You can specify a pObjectName different from the name of pObject.
Parameters
pObjectNameName of the object to store in the pose.
pObjectObject from which we'll read all the property values to store in the pose.

◆ CopyPoseAllObjectsTransformFrom()

void CopyPoseAllObjectsTransformFrom ( FBObjectPose pFromPose,
FBPoseTransformType  pPoseTransformType = kFBPoseTransformInvalid 
)

Copy all the transforms from a given pose.

Remarks
If pPoseTransformType is set to kFBPoseTransformInvalid, copy all TransformTypes.
Parameters
pFromPosePose from which to copy the data.
pPoseTransformTypeTransform type from which to copy the transform (Local, Global or LocalRef).

◆ CopyPoseDataFrom()

void CopyPoseDataFrom ( FBObjectPose pFromPose)

Copy all the pose data from a given pose.

Remarks
Will copy all the data of the pose including the transforms.
Parameters
pFromPosePose from which to copy the data.

◆ CopyPoseTransformFrom()

void CopyPoseTransformFrom ( FBObjectPose pFromPose,
const char *  pObjectName,
FBPoseTransformType  pPoseTransformType = kFBPoseTransformInvalid 
)

Copy the transforms of an object from a given pose.

Remarks
If pPoseTransformType is set to kFBPoseTransformInvalid, copy all TransformTypes.
Parameters
pFromPosePose from which to copy the data.
pObjectNameName of object to copy the transform from.
pPoseTransformTypeTransform type from which to copy the transform (Local, Global or LocalRef).

◆ CopyPropertyPose()

void CopyPropertyPose ( const char *  pObjectName,
FBProperty pProperty 
)

Copy the pose of a property of an object.

Remarks
You can specify a pObjectName different from the name of pObject.
Parameters
pObjectNameName of the object to store in the pose.
pPropertyProperty from which we'll read the value to store in the pose.

◆ CopyTransform()

void CopyTransform ( const char *  pObjectName,
FBComponent pObject,
FBObjectPoseOptions pObjectPoseOptions 
)

Copy the transform of an object.

Remarks
This function will always copy all the TransformAttributes (T,R,S) in all TransformType (Local, Global, LocalRef).
Parameters
pObjectNameName of the object to store in the pose.
pObjectObject from which we'll evaluate the transform values to store in the pose.
pObjectPoseOptionsPoseOptions used to specify the transform of the reference object (Default: Identity).

◆ GetPropertyValue()

void GetPropertyValue ( double *  pValue,
int  pSize,
const char *  pObjectName,
const char *  pPropertyName 
)

Get the value of a property stored in the pose.

Parameters
pValueValue to get.
pSizeNumber of elements in pValue.
pObjectNameName of the object to get the value.
pPropertyNameName of the property to get the value.

◆ GetStoredObjectNames()

FBStringList GetStoredObjectNames ( )

Get all the object names currently stored in this pose.

Returns
All the object names currently stored in this pose.

◆ GetTransform()

bool GetTransform ( FBTVector pT,
FBMatrix pRM,
FBMatrix pSM,
const char *  pObjectName,
FBPoseTransformType  pPoseTransformType 
)

Get the transform of an object in the pose.

Parameters
pTTranslation to get.
pRMRotation to get.
pSMScaling to get.
pObjectNameName of the object to get the transform.
pPoseTransformTypeTransform type in which to set the transform (Local, Global or LocalRef).
Returns
True if the transform was found in the pose.

◆ IsPropertyPoseable()

bool IsPropertyPoseable ( FBProperty pProperty)

Is the property poseable?

Returns
True if the value of this property can be stored in the pose.

◆ IsPropertyStored()

bool IsPropertyStored ( const char *  pObjectName,
const char *  pPropertyName 
)

Is the property stored in the pose?

Parameters
pObjectNameName of the object.
pPropertyNameName of the property.
Returns
True if the property is stored in the pose.

◆ IsTransformStored()

bool IsTransformStored ( const char *  pObjectName,
FBPoseTransformType  pPoseTransformType = kFBPoseTransformInvalid 
)

Is the transform of this object stored in the specified TransformType?

Remarks
If pPoseTransformType is set to kFBPoseTransformInvalid, will check in all TransformTypes.
Parameters
pObjectNameName of the object.
pPoseTransformTypeTransform type in which to check.
Returns
True if the transform of this object is stored in the specified TransformType (Local, Global and LocalRef).

◆ MirrorPose()

void MirrorPose ( const char *  pObjectName,
FBObjectPoseMirrorOptions pObjectPoseMirrorOptions 
)

Mirror the transform of an object in the pose.

Parameters
pObjectNameName of the object to mirror.
pObjectPoseMirrorOptionsMirrorOptions used to specify the mirror plane.

◆ MirrorPoseAllObjects()

void MirrorPoseAllObjects ( FBObjectPoseMirrorOptions pObjectPoseMirrorOptions)

Mirror the transform of all objects in the pose.

Parameters
pObjectPoseMirrorOptionsMirrorOptions used to specify the mirror plane.

◆ MirrorRetargetPose()

static void MirrorRetargetPose ( FBObjectPose pDstPose,
FBObjectPose pSrcPose,
FBObjectPose pDstStancePose,
FBObjectPose pSrcStancePose,
FBVector4< double > &  pMirrorPlaneEquation,
const char *  pDstObjectName,
const char *  pSrcObjectName 
)
static

Mirror the transform of an object in the SrcPose and retarget the result on the DstPose.

Remarks
This function can be used to mirror the pose of a right-arm on a left-arm, or a tail on itself.
The mirror plane should intersect with the origin because we mirror the pose with stance offsets removed.
Parameters
pDstPoseDestination pose to receive the result.
pSrcPoseSource pose to mirror.
pDstStancePoseStance pose for the DstPose.
pSrcStancePoseStance pose for the SrcPose.
pMirrorPlaneEquationMirror plane used to mirror the SrcPose once the stance offsets are removed.
pDstObjectNameName of the object in the DstPose to receive the mirror of the SrcPose.
pSrcObjectNameName of the object to mirror from the SrcPose.

◆ MirrorRetargetPoseAllObjects()

static void MirrorRetargetPoseAllObjects ( FBObjectPose pDstPose,
FBObjectPose pSrcPose,
FBObjectPose pDstStancePose,
FBObjectPose pSrcStancePose,
FBVector4< double > &  pMirrorPlaneEquation 
)
static

Mirror the transform of all objects in the SrcPose and retarget the result on the DstPose.

Remarks
This function can be used to mirror the pose of a right-arm on a left-arm, or a tail on itself.
The mirror plane should intersect with the origin because we mirror the pose with stance offsets removed.
Parameters
pDstPoseDestination pose to receive the result.
pSrcPoseSource pose to mirror.
pDstStancePoseStance pose for the DstPose.
pSrcStancePoseStance pose for the SrcPose.
pMirrorPlaneEquationMirror plane used to mirror the SrcPose once the stance offsets are removed.

◆ MultTransform()

void MultTransform ( const char *  pObjectName,
FBMatrix pGX,
FBModelTransformationType  pTransformAttribute,
FBPoseTransformType  pPoseTransformType 
)

Multiply the transform of an objects in the pose.

Parameters
pObjectNameName of the object.
pGXTransformation matrix to apply.
pTransformAttributeTransform attribute to affect. Supported: T,R,S and Transformation.
pPoseTransformTypeTransform type in which to mult the transform (Local, Global or LocalRef).

◆ MultTransformAllObjects()

void MultTransformAllObjects ( FBMatrix pGX,
FBModelTransformationType  pTransformAttribute,
FBPoseTransformType  pPoseTransformType 
)

Multiply the transform of all objects in the pose.

Parameters
pGXTransformation matrix to apply.
pTransformAttributeTransform attribute to affect. Supported: T,R,S and Transformation.
pPoseTransformTypeTransform type in which to mult the transform (Local, Global or LocalRef).

◆ PasteObjectPose()

void PasteObjectPose ( const char *  pObjectName,
FBComponent pObject 
)

Paste the pose of all the properties of an object.

Remarks
You can specify a pObjectName different from the name of pObject.
Properties that were not stored in the pose will not be affected.
Parameters
pObjectNameName of the object stored in the pose.
pObjectObject which will receive the values stored in the pose.

◆ PastePropertyPose()

void PastePropertyPose ( const char *  pObjectName,
FBProperty pProperty 
)

Paste the pose of a property of an object.

Remarks
You can specify a pObjectName different from the name of pObject.
The property will not be affected if it was not stored in the pose.
Parameters
pObjectNameName of the object stored in the pose.
pPropertyProperty which will receive the value stored in the pose.

◆ PasteTransform()

void PasteTransform ( const char *  pObjectName,
FBComponent pObject,
FBObjectPoseOptions pObjectPoseOptions,
FBEvaluateInfo pEvaluateInfo = NULL 
)

Paste the transform of an object.

Remarks
Use the pObjectPoseOptions to specify which TransformType to use when pasting.
Parameters
pObjectNameName of the object stored in the pose.
pObjectObject which will receive the transform values stored in the pose.
pObjectPoseOptionsPoseOptions used to specify the transform of the reference object, the TransformType and TransformAttributes to paste.
pEvaluateInfoInformation concerning the evaluation of the animation (time, etc.)

◆ RemoveStanceOffset()

void RemoveStanceOffset ( const char *  pObjectName,
FBObjectPose pStancePose,
FBPoseTransformType  pPoseTransformType = kFBPoseTransformInvalid 
)

Remove the StanceOffset from an object in the pose.

Remarks
Working with poses with their StanceOffset removed is usefull for retargetting.
If pPoseTransformType is set to kFBPoseTransformInvalid, offsets will be removed in all TransformTypes.
Parameters
pObjectNameName of the object.
pStancePosePose representing the stance of all objects.
pPoseTransformTypeTransform type in which to remove the offset (Local, Global or LocalRef).

◆ RemoveStanceOffsetAllObjects()

void RemoveStanceOffsetAllObjects ( FBObjectPose pStancePose,
FBPoseTransformType  pPoseTransformType = kFBPoseTransformInvalid 
)

Remove the StanceOffset from all the objects in the pose.

Remarks
Working with poses with their StanceOffset removed is usefull for retargetting.
If pPoseTransformType is set to kFBPoseTransformInvalid, offsets will be removed in all TransformTypes.
Parameters
pStancePosePose representing the stance of all objects.
pPoseTransformTypeTransform type in which to remove the offset (Local, Global or LocalRef).

◆ RetargetPose()

static void RetargetPose ( FBObjectPose pDstPose,
FBObjectPose pSrcPose,
const char *  pDstObjectName,
const char *  pSrcObjectName 
)
static

Retarget the non-transform properties from the SrcPose to the DstPose.

Remarks
This will copy all stored properties from the specified object in SrcPose to the specified object in DstPose.
Parameters
pDstPoseDestination pose.
pSrcPoseSource pose.
pDstObjectNameName of the object in the DstPose to receive the copy.
pSrcObjectNameName of the object to copy from the SrcPose.

◆ SetPropertyValue()

void SetPropertyValue ( const char *  pObjectName,
const char *  pPropertyName,
double *  pValue,
int  pSize 
)

Set the value of a property in the pose.

Parameters
pValueValue to set.
pSizeNumber of elements in pValue.
pObjectNameName of the object to set the value.
pPropertyNameName of the property to set the value.

◆ SetTransform()

void SetTransform ( FBTVector pT,
FBMatrix pRM,
FBMatrix pSM,
const char *  pObjectName,
FBPoseTransformType  pPoseTransformType 
)

Set the transform of an object in the pose.

Parameters
pTTranslation to set.
pRMRotation to set.
pSMScaling to set.
pObjectNameName of the object to set the transform.
pPoseTransformTypeTransform type in which to set the transform (Local, Global or LocalRef).

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