#include <fbobjectpose.h>
This class exposes the object used to store the pose of objects.
Definition at line 192 of file fbobjectpose.h.
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) |
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. |
FBObjectPose | ( | char * | pName, | |
HIObject | pObject = NULL |
|||
) |
Public constructor.
This constructor is used to create a new object.
pName | Object name. If pObject is not NULL, pName will be ignored. | |
pObject | For internal use only. |
void ClearPose | ( | ) |
Clear all the data of the pose.
bool IsPropertyPoseable | ( | FBProperty & | pProperty | ) |
Is the property poseable?
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.
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.
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.
Properties that were not stored in the pose will not be affected.
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.
The property will not be affected if it was not stored in the pose.
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.
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.
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?
pObjectName | Name of the object. | |
pPropertyName | Name of the property. |
True
if the property is stored in the pose.void CopyTransform | ( | const char * | pObjectName, | |
FBComponent & | pObject, | |||
FBObjectPoseOptions & | pObjectPoseOptions | |||
) |
Copy the transform of an object.
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 | |||
) |
Paste the transform of an object.
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. |
void SetTransform | ( | FBTVector & | pT, | |
FBMatrix & | pRM, | |||
FBMatrix & | pSM, | |||
const char * | pObjectName, | |||
FBPoseTransformType | pPoseTransformType | |||
) |
Set the transform of an object in the pose.
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.
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). |
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?
pObjectName | Name of the object. | |
pPoseTransformType | Transform type in which to check. |
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.
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.
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.
pObjectPoseMirrorOptions | MirrorOptions used to specify the mirror plane. |
void MirrorPose | ( | const char * | pObjectName, | |
FBObjectPoseMirrorOptions & | pObjectPoseMirrorOptions | |||
) |
Mirror the transform of an object in the pose.
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.
If pPoseTransformType is set to kFBPoseTransformInvalid, offsets will be removed in all TransformTypes.
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.
If pPoseTransformType is set to kFBPoseTransformInvalid, offsets will be removed in all TransformTypes.
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.
If pPoseTransformType is set to kFBPoseTransformInvalid, offsets will be added in all TransformTypes.
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.
If pPoseTransformType is set to kFBPoseTransformInvalid, offsets will be added in all TransformTypes.
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.
The mirror plane should intersect with the origin because we mirror the pose with stance offsets removed.
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.
The mirror plane should intersect with the origin because we mirror the pose with stance offsets removed.
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.
pFromPose | Pose from which to copy. |
void CopyPoseDataFrom | ( | FBObjectPose & | pFromPose | ) |
Copy all the pose data from a given pose.
pFromPose | Pose from which to copy the data. |
void CopyPoseAllObjectsTransformFrom | ( | FBObjectPose & | pFromPose, | |
FBPoseTransformType | pPoseTransformType =
kFBPoseTransformInvalid |
|||
) |
Copy all the transforms from a given pose.
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.
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). |