1 #ifndef __FBOBJECTPOSE_H__ 2 #define __FBOBJECTPOSE_H__ 43 #include <kaydaradef.h> 48 #define FBSDK_DLL K_DLLIMPORT 54 #ifdef FBSDKUseNamespace 62 kFBPoseTransformInvalid = -1,
63 kFBPoseTransformLocal = 0,
64 kFBPoseTransformGlobal,
65 kFBPoseTransformLocalRef,
66 kFBPoseTransformTypeCount
72 kFBObjectPoseOptionsNoFlag = 0,
73 kFBObjectPoseOptionsTranslationX= 1,
74 kFBObjectPoseOptionsTranslationY= 1<<1,
75 kFBObjectPoseOptionsTranslationZ= 1<<2,
76 kFBObjectPoseOptionsRotation = 1<<3,
77 kFBObjectPoseOptionsScaling = 1<<4,
83 kFBObjectPoseMirrorOptionsNoFlag = 0,
84 kFBObjectPoseMirrorOptionsUpdateLocal = 1,
85 kFBObjectPoseMirrorOptionsUpdateLocalMirrorParent = 1<<1,
86 kFBObjectPoseMirrorOptionsUpdateLocalRef = 1<<2,
87 kFBObjectPoseMirrorOptionsUpdateLocalRefMirrorRef = 1<<3,
203 FBObjectPose(
const char* pName, HIObject pObject=NULL );
212 bool IsPropertyPoseable(
FBProperty &pProperty );
224 void CopyObjectPose(
const char* pObjectName,
FBComponent& pObject );
231 void CopyPropertyPose(
const char* pObjectName,
FBProperty& pProperty );
239 void PasteObjectPose(
const char* pObjectName,
FBComponent& pObject );
247 void PastePropertyPose(
const char* pObjectName,
FBProperty& pProperty );
255 void SetPropertyValue(
const char* pObjectName,
const char* pPropertyName,
double* pValue,
int pSize );
263 void GetPropertyValue(
double* pValue,
int pSize,
const char* pObjectName,
const char* pPropertyName );
270 bool IsPropertyStored(
const char* pObjectName,
const char* pPropertyName );
314 bool IsTransformStored(
const char* pObjectName,
FBPoseTransformType pPoseTransformType = kFBPoseTransformInvalid );
385 static void MirrorRetargetPoseAllObjects
405 static void MirrorRetargetPose
412 const char* pDstObjectName,
413 const char* pSrcObjectName
423 static void RetargetPose
427 const char* pDstObjectName,
428 const char* pSrcObjectName
542 #ifdef FBSDKUseNamespace #define __FBClassDeclare(Name, Parent)
For internal use only.
K_DLLIMPORT void MirrorTransformT(FBTVector &pMirrorT, const FBTVector &pT, const FBVector4< double > &pPlaneEquation)
Mirror a translation using the specified mirror plane.
PropertyList: Concrete class for PropertyList of component
K_DLLIMPORT void NormalizePlaneEquation(FBVector4< double > &pNormalizedPlaneEquation, FBVector4< double > &pPlaneEquation)
Normalize a plane equation.
FBMatrix mReferenceGSM
Global scaling matrix of reference object.
FBObjectPoseMirrorOptions class.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Property: Base property class.
FBVector4< double > mMirrorPlaneEquation
Equation of the mirror plane.
K_DLLIMPORT void GetPlaneRotation(FBMatrix &pPlaneRM, const FBVector4< double > &pPlaneEquation)
Get the plane rotation matrix from a plane equation.
FBObjectPoseMirrorOptionsFlag
ObjectPoseMirrorOptions flags.
FBObjectPoseOptionsFlag
ObjectPoseOptions flags.
FBObjectPoseOptions class.
K_DLLIMPORT void GetPlaneEquation(FBVector4< double > &pPlaneEquation, const FBTVector &pPlaneNormalVector, const FBTVector &pPointOnPlane)
Get a plane equation from a normal vector and a point on the plane.
Four x Four (double) Matrix.
FBMatrix mReferenceGRM
Global rotation matrix of reference object.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
FBPoseTransformType
Transform mode of pose.
#define FBSDKNamespace
FBSDKNamespace define.
PropertyList: ObjectPose.
FBTVector mReferenceGT
Global translation vector of reference object.
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
K_DLLIMPORT void MirrorTransform(FBTVector &pMirrorT, FBMatrix &pMirrorRM, FBMatrix &pMirrorSM, const FBTVector &pT, const FBMatrix &pRM, const FBMatrix &pSM, const FBVector4< double > &pPlaneEquation)
Mirror a transformation using the specified mirror plane.
FBModelTransformationType
Types of transformation vector/matrices possible.
FBPoseTransformType mPoseTransformType
Transform type (Local, Global or LocalRef).
MotionBuilder SDK base class.
K_DLLIMPORT void MirrorTransformR(FBMatrix &pMirrorRM, const FBMatrix &pRM, const FBVector4< double > &pPlaneEquation)
Mirror a rotation using the specified mirror plane.
AnimationNodeNotify evaluation information.