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 (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, HFBEvaluateInfo 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, FBModelTransformationMatrix pTransformAttribute, FBPoseTransformType pPoseTransformType)
  Multiply the transform of all objects in the pose.
void  MultTransform (const char *pObjectName, FBMatrix &pGX, FBModelTransformationMatrix 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 ( char *  pName,
HIObject  pObject = NULL 
)

Public constructor.

This constructor is used to create a new object.

Parameters:
pName Object name. If pObject is not NULL, pName will be ignored.
pObject For 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:
pObjectName Name of the object to store in the pose.
pObject Object 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:
pObjectName Name of the object to store in the pose.
pProperty Property 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:
pObjectName Name of the object stored in the pose.
pObject Object 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:
pObjectName Name of the object stored in the pose.
pProperty Property 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:
pValue Value to set.
pSize Number of elements in pValue.
pObjectName Name of the object to set the value.
pPropertyName Name 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:
pValue Value to get.
pSize Number of elements in pValue.
pObjectName Name of the object to get the value.
pPropertyName Name of the property to get the value.
bool IsPropertyStored ( const char *  pObjectName,
const char *  pPropertyName 
)

Is the property stored in the pose?

Parameters:
pObjectName Name of the object.
pPropertyName Name 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:
pObjectName Name of the object to store in the pose.
pObject Object from which we'll evaluate the transform values to store in the pose.
pObjectPoseOptions PoseOptions used to specify the transform of the reference object (Default: Identity).
void PasteTransform ( const char *  pObjectName,
FBComponent pObject,
FBObjectPoseOptions pObjectPoseOptions,
HFBEvaluateInfo  pEvaluateInfo = NULL 
)

Paste the transform of an object.

Remarks:
Use the pObjectPoseOptions to specify which TransformType to use when pasting.
Parameters:
pObjectName Name of the object stored in the pose.
pObject Object which will receive the transform values stored in the pose.
pObjectPoseOptions PoseOptions used to specify the transform of the reference object, the TransformType and TransformAttributes to paste.
pEvaluateInfo Information 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:
pT Translation to set.
pRM Rotation to set.
pSM Scaling to set.
pObjectName Name of the object to set the transform.
pPoseTransformType Transform 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:
pT Translation to get.
pRM Rotation to get.
pSM Scaling to get.
pObjectName Name of the object to get the transform.
pPoseTransformType Transform 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:
pObjectName Name of the object.
pPoseTransformType Transform 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,
FBModelTransformationMatrix  pTransformAttribute,
FBPoseTransformType  pPoseTransformType 
)

Multiply the transform of all objects in the pose.

Parameters:
pGX Transformation matrix to apply.
pTransformAttribute Transform attribute to affect. Supported: T,R,S and Transformation.
pPoseTransformType Transform type in which to mult the transform (Local, Global or LocalRef).
void MultTransform ( const char *  pObjectName,
FBMatrix pGX,
FBModelTransformationMatrix  pTransformAttribute,
FBPoseTransformType  pPoseTransformType 
)

Multiply the transform of an objects in the pose.

Parameters:
pObjectName Name of the object.
pGX Transformation matrix to apply.
pTransformAttribute Transform attribute to affect. Supported: T,R,S and Transformation.
pPoseTransformType Transform 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:
pObjectPoseMirrorOptions MirrorOptions used to specify the mirror plane.
void MirrorPose ( const char *  pObjectName,
FBObjectPoseMirrorOptions pObjectPoseMirrorOptions 
)

Mirror the transform of an object in the pose.

Parameters:
pObjectName Name of the object to mirror.
pObjectPoseMirrorOptions MirrorOptions 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:
pStancePose Pose representing the stance of all objects.
pPoseTransformType Transform 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:
pObjectName Name of the object.
pStancePose Pose representing the stance of all objects.
pPoseTransformType Transform 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:
pStancePose Pose representing the stance of all objects.
pPoseTransformType Transform 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:
pObjectName Name of the object.
pStancePose Pose representing the stance of all objects.
pPoseTransformType Transform 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:
pDstPose Destination pose to receive the result.
pSrcPose Source pose to mirror.
pDstStancePose Stance pose for the DstPose.
pSrcStancePose Stance pose for the SrcPose.
pMirrorPlaneEquation Mirror 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:
pDstPose Destination pose to receive the result.
pSrcPose Source pose to mirror.
pDstStancePose Stance pose for the DstPose.
pSrcStancePose Stance pose for the SrcPose.
pMirrorPlaneEquation Mirror plane used to mirror the SrcPose once the stance offsets are removed.
pDstObjectName Name of the object in the DstPose to receive the mirror of the SrcPose.
pSrcObjectName Name 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:
pFromPose Pose 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:
pFromPose Pose 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:
pFromPose Pose from which to copy the data.
pPoseTransformType Transform 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:
pFromPose Pose from which to copy the data.
pObjectName Name of object to copy the transform from.
pPoseTransformType Transform 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