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