fbxconstraintparent.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_PARENT_H_
00014 #define _FBXSDK_SCENE_CONSTRAINT_PARENT_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/core/base/fbxerror.h>
00019 #include <fbxsdk/scene/constraint/fbxconstraint.h>
00020 #include <fbxsdk/scene/fbxgroupname.h>
00021 
00022 #include <fbxsdk/fbxsdk_nsbegin.h>
00023 
00024 class FbxManager;
00025 
00031 class FBXSDK_DLL FbxConstraintParent : public FbxConstraint
00032 {
00033     FBXSDK_OBJECT_DECLARE(FbxConstraintParent,FbxConstraint);
00034 
00035 public:
00044         FbxPropertyT<FbxBool> AffectTranslationX;
00045 
00050         FbxPropertyT<FbxBool> AffectTranslationY;
00051 
00056         FbxPropertyT<FbxBool> AffectTranslationZ;
00057 
00062         FbxPropertyT<FbxBool> AffectRotationX;
00063 
00068         FbxPropertyT<FbxBool> AffectRotationY;
00069 
00074         FbxPropertyT<FbxBool> AffectRotationZ;
00075 
00080         FbxPropertyT<FbxBool> AffectScalingX;
00081 
00086         FbxPropertyT<FbxBool> AffectScalingY;
00087 
00092         FbxPropertyT<FbxBool> AffectScalingZ;
00093 
00097         FbxPropertyT<FbxReference> ConstraintSources;
00098 
00102         FbxPropertyT<FbxReference> ConstrainedObject;
00104 
00109     void SetTranslationOffset(FbxObject* pObject, FbxVector4 pTranslation);
00110 
00115     FbxVector4 GetTranslationOffset(const FbxObject* pObject) const;
00116 
00121     virtual void SetRotationOffset(const FbxObject* pObject, FbxVector4 pRotation);
00122 
00127     FbxVector4 GetRotationOffset(const FbxObject* pObject) const;
00128 
00133     void AddConstraintSource(FbxObject* pObject, double pWeight = 100);
00134 
00138     int GetConstraintSourceCount() const;
00139 
00144     FbxObject* GetConstraintSource(int pIndex) const;
00145 
00149     void SetConstrainedObject(FbxObject* pObject);
00150 
00154     FbxObject* GetConstrainedObject() const;
00155 
00156 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00157 protected:
00158     FbxConstraintParent(FbxManager& pManager, char const* pName);
00159 
00160     virtual bool ConstructProperties( bool pForceSet );
00161 
00162     virtual EType GetConstraintType() const;
00163 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00164 };
00165 
00166 #include <fbxsdk/fbxsdk_nsend.h>
00167 
00168 #endif /* _FBXSDK_SCENE_CONSTRAINT_PARENT_H_ */