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_AIM_H_ 00014 #define _FBXSDK_SCENE_CONSTRAINT_AIM_H_ 00015 00016 #include <fbxsdk/fbxsdk_def.h> 00017 00018 #include <fbxsdk/scene/constraint/fbxconstraint.h> 00019 00020 #include <fbxsdk/fbxsdk_nsbegin.h> 00021 00026 class FBXSDK_DLL FbxConstraintAim : public FbxConstraint 00027 { 00028 FBXSDK_OBJECT_DECLARE(FbxConstraintAim, FbxConstraint); 00029 00030 public: 00033 enum EWorldUp 00034 { 00035 eAimAtSceneUp, 00036 eAimAtObjectUp, 00037 eAimAtObjectRotationUp, 00038 eAimAtVector, 00039 eAimAtNone, 00040 eAimAtCount 00041 }; 00042 00051 FbxPropertyT<FbxDouble3> RotationOffset; 00052 00055 FbxPropertyT<FbxReference> AimAtObjects; 00056 00059 FbxPropertyT<FbxReference> ConstrainedObject; 00060 00063 FbxPropertyT<FbxEnum> WorldUpType; 00064 00067 FbxPropertyT<FbxReference> WorldUpObject; 00068 00073 FbxPropertyT<FbxDouble3> WorldUpVector; 00074 00079 FbxPropertyT<FbxDouble3> UpVector; 00080 00085 FbxPropertyT<FbxDouble3> AimVector; 00086 00091 FbxPropertyT<FbxBool> AffectX; 00092 00097 FbxPropertyT<FbxBool> AffectY; 00098 00103 FbxPropertyT<FbxBool> AffectZ; 00105 00110 void AddConstraintSource(FbxObject* pObject, double pWeight = 100); 00111 00115 int GetConstraintSourceCount() const; 00116 00121 FbxObject* GetConstraintSource(int pIndex) const; 00122 00126 void SetConstrainedObject(FbxObject* pObject); 00127 00131 FbxObject* GetConstrainedObject() const; 00132 00136 void SetWorldUpObject(FbxObject* pObject); 00137 00141 FbxObject* GetWorldUpObject() const; 00142 00143 /***************************************************************************************************************************** 00144 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! ** 00145 *****************************************************************************************************************************/ 00146 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00147 protected: 00148 virtual void ConstructProperties(bool pForceSet); 00149 00150 virtual EType GetConstraintType() const; 00151 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/ 00152 }; 00153 00154 inline EFbxType FbxTypeOf(const FbxConstraintAim::EWorldUp&){ return eFbxEnum; } 00155 00156 #include <fbxsdk/fbxsdk_nsend.h> 00157 00158 #endif /* _FBXSDK_SCENE_CONSTRAINT_AIM_H_ */