Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00013 #ifndef _FBXSDK_SCENE_CONSTRAINT_H_
00014 #define _FBXSDK_SCENE_CONSTRAINT_H_
00015
00016 #include <fbxsdk/fbxsdk_def.h>
00017
00018 #include <fbxsdk/core/fbxobject.h>
00019 #include <fbxsdk/core/base/fbxerror.h>
00020 #include <fbxsdk/core/base/fbxstringlist.h>
00021 #include <fbxsdk/scene/fbxgroupname.h>
00022
00023 #include <fbxsdk/fbxsdk_nsbegin.h>
00024
00025 class FbxManager;
00026 class FbxVector4;
00027
00034 class FBXSDK_DLL FbxConstraint : public FbxObject
00035 {
00036 FBXSDK_OBJECT_DECLARE(FbxConstraint, FbxObject);
00037
00038 public:
00047 FbxPropertyT<FbxDouble> Weight;
00048
00054 FbxPropertyT<FbxBool> Active;
00055
00062 FbxPropertyT<FbxBool> Lock;
00064
00067 enum EType
00068 {
00069 eUnknown,
00070 ePosition,
00071 eRotation,
00072 eScale,
00073 eParent,
00074 eSingleChainIK,
00075 eAim,
00076 eCharacter,
00077 eCustom
00078 };
00079
00083 virtual EType GetConstraintType() const { return eUnknown; }
00084
00088 virtual FbxObject* GetConstrainedObject() const { return NULL; }
00089
00093 virtual int GetConstraintSourceCount() const { return 0; }
00094
00099 virtual FbxObject* GetConstraintSource(int ) const { return NULL; }
00100
00105 double GetSourceWeight(const FbxObject* pObject) const;
00106
00114 FbxError& GetError();
00115
00118 enum EErrorCode
00119 {
00120 eError,
00121 eErrorCount
00122 };
00123
00127 EErrorCode GetLastErrorID() const;
00128
00132 const char* GetLastErrorString() const;
00134
00136
00137
00138
00139
00140
00141
00143 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00144 protected:
00145 FbxConstraint(FbxManager& pManager, char const* pName);
00146 virtual bool ConstructProperties(bool pForceSet);
00147
00148 private:
00149 FbxError mError;
00150 friend class FbxScene;
00151 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00152 };
00153
00154
00156
00157
00158
00159
00160
00161
00163 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00164
00165 const FbxString GetWeightPropertyName(const FbxObject * pObject);
00166 void CreateWeightPropertyForSourceObject(FbxObject * pConstraint, const FbxObject * pSourceObject, double pWeightValue);
00167
00168 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00169
00170 #include <fbxsdk/fbxsdk_nsend.h>
00171
00172 #endif