kfbxconstraintrotation.h

Go to the documentation of this file.
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