fbxmarker.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_GEOMETRY_MARKER_H_
00014 #define _FBXSDK_SCENE_GEOMETRY_MARKER_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/scene/geometry/fbxnodeattribute.h>
00019 
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021 
00026 class FBXSDK_DLL FbxMarker : public FbxNodeAttribute
00027 {
00028     FBXSDK_OBJECT_DECLARE(FbxMarker, FbxNodeAttribute);
00029 
00030 public:
00032     virtual FbxNodeAttribute::EType GetAttributeType() const;
00033 
00035     void Reset();
00036 
00043     enum EType
00044     {
00045         eStandard, 
00046         eOptical, 
00047         eEffectorFK,
00048         eEffectorIK
00049     };
00050 
00054     void SetType(EType pType);
00055 
00059     EType GetType() const;
00060 
00074     enum ELook
00075     { 
00076         eCube, 
00077         eHardCross, 
00078         eLightCross, 
00079         eSphere,
00080         eCapsule,
00081         eBox,
00082         eBone,
00083         eCircle,
00084         eSquare,
00085         eStick,
00086         eNone
00087     };
00088     
00098 
00103     double GetDefaultOcclusion() const;
00104 
00109     void SetDefaultOcclusion(double pOcclusion);
00110 
00115     double GetDefaultIKReachTranslation() const;
00116 
00121     void SetDefaultIKReachTranslation(double pIKReachTranslation);
00122 
00127     double GetDefaultIKReachRotation() const;
00128 
00133     void SetDefaultIKReachRotation(double pIKReachRotation);
00134 
00139     double GetDefaultIKPull() const;
00140 
00145     void SetDefaultIKPull(double pIKPull);
00146 
00151     double GetDefaultIKPullHips() const;
00152 
00157     void SetDefaultIKPullHips(double pIKPullHips);
00158 
00160 
00165 
00171     FbxColor& GetDefaultColor(FbxColor& pColor) const;
00172 
00177     void SetDefaultColor(FbxColor& pColor);
00178 
00180 
00182     //
00183     // Properties
00184     //
00186     
00194     FbxPropertyT<ELook> Look;
00195     
00203     FbxPropertyT<FbxBool> DrawLink;
00204     
00212     FbxPropertyT<FbxDouble> Size;
00213     
00221     FbxPropertyT<FbxBool> ShowLabel;
00222     
00230     FbxPropertyT<FbxDouble3> IKPivot;
00231 
00232     // Dynamic properties
00233 
00238     FbxProperty GetOcclusion() const;
00239 
00244     FbxProperty GetIKReachTranslation() const;
00245 
00250     FbxProperty GetIKReachRotation() const;
00251 
00256     FbxProperty GetIKPull() const;
00257 
00262     FbxProperty GetIKPullHips() const;
00263 
00264 /*****************************************************************************************************************************
00265 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
00266 *****************************************************************************************************************************/
00267 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00268     virtual FbxObject& Copy(const FbxObject& pObject);
00269 
00270 protected:
00271     virtual void ConstructProperties(bool pForceSet);
00272     virtual const char* GetTypeName() const;
00273     virtual FbxStringList GetTypeFlags() const;
00274 
00275     EType mType;
00276 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
00277 };
00278 
00279 inline EFbxType FbxTypeOf(const FbxMarker::ELook&){ return eFbxEnum; }
00280 
00281 #include <fbxsdk/fbxsdk_nsend.h>
00282 
00283 #endif /* _FBXSDK_SCENE_GEOMETRY_MARKER_H_ */