- Main Page
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# fbxconstraint.h

Go to the documentation of this file.

    00001 /****************************************************************************************
    00002
    00003    Copyright (C) 2012 Autodesk, Inc.
    00004    All rights reserved.
    00005
    00006    Use of this software is subject to the terms of the Autodesk license agreement
    00007    provided at the time of installation or download, or which otherwise accompanies
    00008    this software in either electronic or hard copy form.
    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 /*pIndex*/) 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 //  WARNING!
    00138 //
    00139 //  Anything beyond these lines may not be documented accurately and is
    00140 //  subject to change without notice.
    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 //  WARNING!
    00158 //
    00159 //  Anything beyond these lines may not be documented accurately and is
    00160 //  subject to change without notice.
    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 /* _FBXSDK_SCENE_CONSTRAINT_H_ */