00001
00004 #ifndef _FBXSDK_LIMITS_UTILITIES_H_
00005 #define _FBXSDK_LIMITS_UTILITIES_H_
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 #include <kaydaradef.h>
00042 #ifndef KFBX_DLL
00043 #define KFBX_DLL K_DLLIMPORT
00044 #endif
00045
00046 #include <kaydara.h>
00047
00048 #include <kfbxmath/kfbxvector4.h>
00049 #include <kfbxplugins/kfbxnodelimits.h>
00050 #include <kfbxplugins/kfbxnode.h>
00051
00052 #include <fbxfilesdk_nsbegin.h>
00053
00054 class KFbxLimitsUtilities
00055 {
00056 public:
00057 typedef enum
00058 {
00059 eT,
00060 eR,
00061 eS,
00062 } ELimitType;
00063
00064 typedef enum
00065 {
00066 eROTATION_TYPE_QUATERNION,
00067 eROTATION_TYPE_EULER,
00068 } ERotationType ;
00069
00070 typedef enum
00071 {
00072 eROTATION_CLAMP_TYPE_RECTANGULAR,
00073 eROTATION_CLAMP_TYPE_ELIPSOID,
00074 } ERotationClampType ;
00075
00076
00077 KFbxLimitsUtilities(KFbxNodeLimits* pLimits);
00078 KFbxNodeLimits* mLimits;
00079
00080 void SetAuto(ELimitType pType, bool pAuto);
00081 bool GetAuto(ELimitType pType);
00082
00083 void SetEnable(ELimitType pType, bool pEnable);
00084 bool GetEnable(ELimitType pType);
00085
00086 void SetDefault(ELimitType pType, KFbxVector4 pDefault);
00087 KFbxVector4 GetDefault(ELimitType pType);
00088
00089 void SetMin(ELimitType pType, KFbxVector4 pMin);
00090 KFbxVector4 GetMin(ELimitType pType);
00091
00092 void SetMax(ELimitType pType, KFbxVector4 pMax);
00093 KFbxVector4 GetMax(ELimitType pType);
00094
00095 void SetRotationType(ERotationType pType);
00096 ERotationType GetRotationType();
00097
00098 void SetRotationClampType(ERotationClampType pType);
00099 ERotationClampType GetRotationClampType();
00100
00101 void SetRotationAxis(KFbxVector4 pRotationAxis);
00102 KFbxVector4 GetRotationAxis();
00103
00104 void SetAxisLength(double pLength);
00105 double GetAxisLength();
00106
00107 void UpdateAutomatic(KFbxNode* pNode);
00108 KFbxVector4 GetEndPointTranslation(KFbxNode* pNode);
00109 KFbxVector4 GetEndSite(KFbxNode* pNode);
00110
00111 double mAxisLength;
00112 };
00113
00114
00115 #include <fbxfilesdk_nsend.h>
00116
00117 #endif // #ifndef _KFbxLimitsUtilites_h
00118
00119
00120