fbxsdk/scene/constraint/fbxconstraintaim.h Source File
 
 
 
fbxsdk/scene/constraint/fbxconstraintaim.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_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_ */