fbxsdk/scene/constraint/fbxconstraint.h Source File
 
 
 
fbxsdk/scene/constraint/fbxconstraint.h
Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2013 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/fbxsdk_nsbegin.h>
00020 
00027 class FBXSDK_DLL FbxConstraint : public FbxObject
00028 {
00029     FBXSDK_OBJECT_DECLARE(FbxConstraint, FbxObject);
00030 
00031 public:
00040         FbxPropertyT<FbxDouble> Weight;
00041 
00047         FbxPropertyT<FbxBool> Active;
00048 
00055         FbxPropertyT<FbxBool> Lock;
00057 
00060     enum EType
00061     {
00062         eUnknown,                       
00063         ePosition,                      
00064         eRotation,                      
00065         eScale,                         
00066         eParent,                        
00067         eSingleChainIK,         
00068         eAim,                           
00069         eCharacter,                     
00070         eCustom                         
00071     };
00072 
00076     virtual EType GetConstraintType() const { return eUnknown; }
00077 
00081     virtual FbxObject* GetConstrainedObject() const { return NULL; }
00082 
00086     virtual int GetConstraintSourceCount() const { return 0; }
00087 
00092     virtual FbxObject* GetConstraintSource(int /*pIndex*/) const { return NULL; }
00093 
00098     double GetSourceWeight(const FbxObject* pObject) const;
00099 
00100 /*****************************************************************************************************************************
00101 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
00102 *****************************************************************************************************************************/
00103 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00104 protected:
00105         virtual void Construct(const FbxConstraint* pFrom);
00106     virtual void ConstructProperties(bool pForceSet);
00107 
00108 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
00109 };
00110 
00111 /*****************************************************************************************************************************
00112 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
00113 *****************************************************************************************************************************/
00114 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00115 
00116 const FbxString GetWeightPropertyName(const FbxObject * pObject);
00117 void CreateWeightPropertyForSourceObject(FbxObject * pConstraint, const FbxObject * pSourceObject, double pWeightValue);
00118 
00119 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
00120 
00121 #include <fbxsdk/fbxsdk_nsend.h>
00122 
00123 #endif /* _FBXSDK_SCENE_CONSTRAINT_H_ */