Public Member Functions | Static Public Member Functions

FBObjectPose Class Reference

This reference page is linked to from the following overview topics: FBPose - Poses.


Search for all occurrences

Detailed Description

FBObjectPose class.

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

Definition at line 192 of file fbobjectpose.h.

#include <fbobjectpose.h>

Inheritance diagram for FBObjectPose:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 FBObjectPose (const char *pName, HIObject pObject=NULL)
 Public constructor.
void ClearPose ()
 Clear all the data of the pose.
bool IsPropertyPoseable (FBProperty &pProperty)
 Is the property poseable?
void CopyObjectPose (const char *pObjectName, FBComponent &pObject)
 Copy the pose of all the properties of an object.
void CopyPropertyPose (const char *pObjectName, FBProperty &pProperty)
 Copy the pose of a property of an object.
void PasteObjectPose (const char *pObjectName, FBComponent &pObject)
 Paste the pose of all the properties of an object.
void PastePropertyPose (const char *pObjectName, FBProperty &pProperty)
 Paste the pose of a property of an object.
void SetPropertyValue (const char *pObjectName, const char *pPropertyName, double *pValue, int pSize)
 Set the value of a property in the pose.
void GetPropertyValue (double *pValue, int pSize, const char *pObjectName, const char *pPropertyName)
 Get the value of a property stored in the pose.
bool IsPropertyStored (const char *pObjectName, const char *pPropertyName)
 Is the property stored in the pose?
void CopyTransform (const char *pObjectName, FBComponent &pObject, FBObjectPoseOptions &pObjectPoseOptions)
 Copy the transform of an object.
void PasteTransform (const char *pObjectName, FBComponent &pObject, FBObjectPoseOptions &pObjectPoseOptions, FBEvaluateInfo *pEvaluateInfo=NULL)
 Paste the transform of an object.
void SetTransform (FBTVector &pT, FBMatrix &pRM, FBMatrix &pSM, const char *pObjectName, FBPoseTransformType pPoseTransformType)
 Set the transform of an object in the pose.
bool GetTransform (FBTVector &pT, FBMatrix &pRM, FBMatrix &pSM, const char *pObjectName, FBPoseTransformType pPoseTransformType)
 Get the transform of an object in the pose.
bool IsTransformStored (const char *pObjectName, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Is the transform of this object stored in the specified TransformType?
void MultTransformAllObjects (FBMatrix &pGX, FBModelTransformationType pTransformAttribute, FBPoseTransformType pPoseTransformType)
 Multiply the transform of all objects in the pose.
void MultTransform (const char *pObjectName, FBMatrix &pGX, FBModelTransformationType pTransformAttribute, FBPoseTransformType pPoseTransformType)
 Multiply the transform of an objects in the pose.
void MirrorPoseAllObjects (FBObjectPoseMirrorOptions &pObjectPoseMirrorOptions)
 Mirror the transform of all objects in the pose.
void MirrorPose (const char *pObjectName, FBObjectPoseMirrorOptions &pObjectPoseMirrorOptions)
 Mirror the transform of an object in the pose.
void RemoveStanceOffsetAllObjects (FBObjectPose &pStancePose, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Remove the StanceOffset from all the objects in the pose.
void RemoveStanceOffset (const char *pObjectName, FBObjectPose &pStancePose, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Remove the StanceOffset from an object in the pose.
void AddStanceOffsetAllObjects (FBObjectPose &pStancePose, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Add the StanceOffset to all the objects in the pose.
void AddStanceOffset (const char *pObjectName, FBObjectPose &pStancePose, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Add the StanceOffset to an object in the pose.
void CopyFrom (FBObjectPose &pFromPose)
 Copy everything from a given object.
void CopyPoseDataFrom (FBObjectPose &pFromPose)
 Copy all the pose data from a given pose.
void CopyPoseAllObjectsTransformFrom (FBObjectPose &pFromPose, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Copy all the transforms from a given pose.
void CopyPoseTransformFrom (FBObjectPose &pFromPose, const char *pObjectName, FBPoseTransformType pPoseTransformType=kFBPoseTransformInvalid)
 Copy the transforms of an object from a given pose.

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.
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.

Constructor & Destructor Documentation

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

void ClearPose ( )

Clear all the data of the pose.

bool IsPropertyPoseable ( FBProperty pProperty)

Is the property poseable?

Returns:
True if the value of this property can be stored in the pose.
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.
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.
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.
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.
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.
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.
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.
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).
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.)
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).
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.
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).
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).
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).
void MirrorPoseAllObjects ( FBObjectPoseMirrorOptions pObjectPoseMirrorOptions)

Mirror the transform of all objects in the pose.

Parameters:
pObjectPoseMirrorOptionsMirrorOptions used to specify the mirror plane.
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.
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).
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).
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).
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).
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.
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.
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.
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.
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).
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).

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

FBObjectPose FBObjectPose FBObjectPose FBObjectPose FBObjectPose FBObjectPose FBObjectPose FBObjectPose FBObjectPose FBObjectPose
FBObjectPose FBObjectPose FBObjectPose FBObjectPose FBObjectPose FBObjectPose FBObjectPose FBObjectPose FBObjectPose FBObjectPose