00001 /**************************************************************************************** 00002 00003 Copyright (C) 2010 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 00015 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXCONSTRAINTROTATION_H 00016 #define FBXFILESDK_KFBXPLUGINS_KFBXCONSTRAINTROTATION_H 00017 00018 #include <fbxfilesdk/fbxfilesdk_def.h> 00019 00020 #include <fbxfilesdk/kfbxplugins/kfbxconstraint.h> 00021 #include <fbxfilesdk/kfbxplugins/kfbxgroupname.h> 00022 00023 #include <fbxfilesdk/components/kbaselib/klib/kerror.h> 00024 00025 #include <fbxfilesdk/fbxfilesdk_nsbegin.h> 00026 00027 class KFbxSdkManager; 00028 class KFbxVector4; 00029 00034 class KFBX_DLL KFbxConstraintRotation : public KFbxConstraint 00035 { 00036 KFBXOBJECT_DECLARE(KFbxConstraintRotation,KFbxConstraint); 00037 00038 public: 00046 KFbxTypedProperty<fbxBool1> AffectX; 00050 KFbxTypedProperty<fbxBool1> AffectY; 00051 00055 KFbxTypedProperty<fbxBool1> AffectZ; 00056 00060 KFbxTypedProperty<fbxDouble3> Rotation; 00061 00064 KFbxTypedProperty<fbxReference> ConstraintSources; 00065 00068 KFbxTypedProperty<fbxReference> ConstrainedObject; 00070 00074 void SetLock(bool pLock); 00075 00079 bool GetLock() const; 00080 00084 void SetAffectX(bool pAffect); 00085 00089 bool GetAffectX() const; 00090 00094 void SetAffectY(bool pAffect); 00095 00099 bool GetAffectY() const; 00100 00104 void SetAffectZ(bool pAffect); 00105 00109 bool GetAffectZ() const; 00110 00114 void SetWeight(double pWeight); 00115 00119 virtual void SetOffset(KFbxVector4 pRotation); 00120 00124 KFbxVector4 GetOffset() const; 00125 00130 void AddConstraintSource(KFbxObject* pObject, double pWeight = 100); 00131 00135 int GetConstraintSourceCount() const; 00136 00141 KFbxObject* GetConstraintSource(int pIndex) const; 00142 00146 void SetConstrainedObject(KFbxObject* pObject); 00147 00151 KFbxObject* GetConstrainedObject() const; 00152 00153 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00154 00155 KFbxTypedProperty<fbxReference> SourceWeights; 00156 protected: 00157 KFbxConstraintRotation(KFbxSdkManager& pManager, char const* pName); 00158 00159 virtual bool ConstructProperties(bool pForceSet); 00160 00161 virtual EConstraintType GetConstraintType() const; 00162 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS 00163 }; 00164 00165 #include <fbxfilesdk/fbxfilesdk_nsend.h> 00166 00167 #endif // FBXFILESDK_KFBXPLUGINS_KFBXCONSTRAINTROTATION_H 00168