Go to
the documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00013 #ifndef _FBXSDK_SCENE_GEOMETRY_LIMIT_UTILS_H_
00014 #define _FBXSDK_SCENE_GEOMETRY_LIMIT_UTILS_H_
00015
00016 #include <fbxsdk/fbxsdk_def.h>
00017
00018 #include <fbxsdk/core/math/fbxvector4.h>
00019 #include <fbxsdk/core/math/fbxtransforms.h>
00020 #include <fbxsdk/scene/geometry/fbxnode.h>
00021
00022 #include <fbxsdk/fbxsdk_nsbegin.h>
00023
00027 class FBXSDK_DLL FbxLimitsUtilities
00028 {
00029 public:
00035 enum EType
00036 {
00037 eTranslation,
00038 eRotation,
00039 eScaling
00040 };
00041
00046 enum ERotationType
00047 {
00048 eQuaternion,
00049 eEuler
00050 };
00051
00056 enum ERotationClampType
00057 {
00058 eRectangular,
00059 eEllipsoid
00060 };
00061
00062
00063 FbxLimitsUtilities(FbxNode* pNode);
00064
00069 void SetAuto(EType pType, bool pAuto);
00070 bool GetAuto(EType pType) const;
00071
00072 void SetEnable(EType pType, bool pEnable);
00073 bool GetEnable(EType pType) const;
00074
00075 void SetDefault(EType pType, FbxVector4 pDefault);
00076 FbxVector4 GetDefault(EType pType) const;
00077
00078 void SetMin(EType pType, FbxVector4 pMin);
00079 FbxVector4 GetMin(EType pType) const;
00080
00081 void SetMax(EType pType, FbxVector4 pMax);
00082 FbxVector4 GetMax(EType pType) const;
00083
00084 void SetRotationType(ERotationType pType);
00085 ERotationType GetRotationType() const;
00086
00087 ERotationClampType GetRotationClampType() const;
00088
00089 void SetRotationAxis(FbxVector4 pRotationAxis);
00090 FbxVector4 GetRotationAxis() const;
00091
00092 void SetAxisLength(double pLength);
00093 double GetAxisLength() const;
00094
00095 void UpdateAutomatic(FbxNode* pNode);
00096 FbxVector4 GetEndPointTranslation(FbxNode* pNode) const;
00097 FbxVector4 GetEndSite(FbxNode* pNode) const;
00099
00100 FbxNode* mNode;
00101 double mAxisLength;
00102 };
00103
00104 #include <fbxsdk/fbxsdk_nsend.h>
00105
00106 #endif