- Main Page
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# fbxmarker.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_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 #include <fbxsdk/core/math/fbxvector4.h>
    00020
    00021 #include <fbxsdk/fbxsdk_nsbegin.h>
    00022
    00023 class FbxManager;
    00024
    00029 class FBXSDK_DLL FbxMarker : public FbxNodeAttribute
    00030 {
    00031     FBXSDK_OBJECT_DECLARE(FbxMarker,FbxNodeAttribute);
    00032
    00033 public:
    00035     virtual FbxNodeAttribute::EType GetAttributeType() const;
    00036
    00038     void Reset();
    00039
    00046     enum EType
    00047     {
    00048         eStandard,
    00049         eOptical,
    00050         eEffectorFK,
    00051         eEffectorIK
    00052     };
    00053
    00057     void SetType(EType pType);
    00058
    00062     EType GetType() const;
    00063
    00077     enum ELook
    00078     {
    00079         eCube,
    00080         eHardCross,
    00081         eLightCross,
    00082         eSphere,
    00083         eCapsule,
    00084         eBox,
    00085         eBone,
    00086         eCircle,
    00087         eSquare,
    00088         eStick,
    00089         eNone
    00090     };
    00091
    00101
    00106     double GetDefaultOcclusion() const;
    00107
    00112     void SetDefaultOcclusion(double pOcclusion);
    00113
    00118     double GetDefaultIKReachTranslation() const;
    00119
    00124     void SetDefaultIKReachTranslation(double pIKReachTranslation);
    00125
    00130     double GetDefaultIKReachRotation() const;
    00131
    00136     void SetDefaultIKReachRotation(double pIKReachRotation);
    00137
    00139
    00144
    00150     FbxColor& GetDefaultColor(FbxColor& pColor) const;
    00151
    00156     void SetDefaultColor(FbxColor& pColor);
    00157
    00159
    00163     static const char*          sLook;
    00164     static const char*            sDrawLink;
    00165     static const char*          sSize;
    00166     static const char*          sShowLabel;
    00167     static const char*          sIKPivot;
    00168
    00172     static const ELook          sDefaultLook;
    00173     static const FbxBool        sDefaultDrawLink;
    00174     static const FbxDouble      sDefaultSize;
    00175     static const FbxBool        sDefaultShowLabel;
    00176     static const FbxDouble3     sDefaultIKPivot;
    00177
    00179     //
    00180     // Properties
    00181     //
    00183
    00191     FbxPropertyT<ELook> Look;
    00192
    00200     FbxPropertyT<FbxBool> DrawLink;
    00201
    00209     FbxPropertyT<FbxDouble> Size;
    00210
    00218     FbxPropertyT<FbxBool> ShowLabel;
    00219
    00227     FbxPropertyT<FbxDouble3> IKPivot;
    00228
    00229     // Dynamic properties
    00230
    00235     FbxProperty* GetOcclusion();
    00236
    00241     FbxProperty* GetIKReachTranslation();
    00246     FbxProperty* GetIKReachRotation();
    00247
    00249 //
    00250 //  WARNING!
    00251 //
    00252 //  Anything beyond these lines may not be documented accurately and is
    00253 //  subject to change without notice.
    00254 //
    00256 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00257
    00258     virtual FbxObject& Copy(const FbxObject& pObject);
    00259
    00260 protected:
    00261     FbxMarker(FbxManager& pManager, char const* pName);
    00262
    00263     virtual void Construct(const FbxMarker* pFrom);
    00264     virtual bool ConstructProperties(bool pForceSet);
    00265
    00266     void Reset( bool pResetProperties );
    00267
    00272     virtual const char* GetTypeName() const;
    00273     virtual FbxStringList GetTypeFlags() const;
    00274
    00275     EType mType;
    00276
    00277     FbxProperty dynProp; // temporary placeholder for either
    00278     // the Occlusion, IKReachTranslation or IKReachRotation
    00279     // properties. Its address is returned in the GetOcclusion(),
    00280     // GetIKReachTranslation() and GetIKReachRotation() if the property
    00281     // is valid
    00282 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00283 };
    00284
    00285 inline EFbxType FbxTypeOf(const FbxMarker::ELook&){ return eFbxEnum; }
    00286
    00287 #include <fbxsdk/fbxsdk_nsend.h>
    00288
    00289 #endif /* _FBXSDK_SCENE_GEOMETRY_MARKER_H_ */