Go to the
documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00015 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXMARKER_H
00016 #define FBXFILESDK_KFBXPLUGINS_KFBXMARKER_H
00017 
00018 
00019 #include <fbxfilesdk/fbxfilesdk_def.h>
00020 
00021 #include <fbxfilesdk/kfbxplugins/kfbxnodeattribute.h>
00022 #include <fbxfilesdk/kfbxplugins/kfbxcolor.h>
00023 #include <fbxfilesdk/kfbxmath/kfbxvector4.h>
00024 
00025 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00026 
00027 class KFbxSdkManager;
00028 
00033 class KFBX_DLL KFbxMarker : public KFbxNodeAttribute
00034 {
00035     KFBXOBJECT_DECLARE(KFbxMarker,KFbxNodeAttribute);
00036 
00037 public:
00039     virtual EAttributeType GetAttributeType() const;
00040 
00042     void Reset();
00043 
00050     typedef enum { 
00051         eSTANDARD, 
00052         eOPTICAL, 
00053         eFK_EFFECTOR,
00054         eIK_EFFECTOR
00055     } EType;
00056 
00060     void SetType(EType pType);
00061 
00065     EType GetType() const;
00066 
00080     typedef enum { 
00081         eCUBE, 
00082         eHARD_CROSS, 
00083         eLIGHT_CROSS, 
00084         eSPHERE,
00085         eCAPSULE,
00086         eBOX,
00087         eBONE,
00088         eCIRCLE,
00089         eSQUARE,
00090         eSTICK,
00091         eNONE
00092     } ELook;
00093     
00103 
00108     double GetDefaultOcclusion() const;
00109 
00114     void SetDefaultOcclusion(double pOcclusion);
00115 
00120     double GetDefaultIKReachTranslation() const;
00121 
00126     void SetDefaultIKReachTranslation(double pIKReachTranslation);
00127 
00132     double GetDefaultIKReachRotation() const;
00133 
00138     void SetDefaultIKReachRotation(double pIKReachRotation);
00139 
00141 
00146 
00152     KFbxColor& GetDefaultColor(KFbxColor& pColor) const;
00153 
00158     void SetDefaultColor(KFbxColor& pColor);
00159 
00161 
00165     static const char*          sLook;
00166     static const char*            sDrawLink;
00167     static const char*          sSize;
00168     static const char*          sShowLabel;
00169     static const char*          sIKPivot;
00170 
00174     static const ELook          sDefaultLook;
00175     static const fbxBool1        sDefaultDrawLink;
00176     static const fbxDouble1     sDefaultSize;
00177     static const fbxBool1       sDefaultShowLabel;
00178     static const fbxDouble3     sDefaultIKPivot;
00179 
00181     
00182     
00183     
00185     
00193     KFbxTypedProperty<ELook> Look;
00194     
00202     KFbxTypedProperty<fbxBool1> DrawLink;
00203     
00211     KFbxTypedProperty<fbxDouble1> Size;
00212     
00220     KFbxTypedProperty<fbxBool1> ShowLabel;
00221     
00229     KFbxTypedProperty<fbxDouble3> IKPivot;
00230 
00231     
00232 
00237     KFbxProperty* GetOcclusion();
00238 
00243     KFbxProperty* GetIKReachTranslation();
00248     KFbxProperty* GetIKReachRotation();
00249 
00251 
00252 
00253 
00254 
00255 
00256 
00258 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00259 
00260     virtual KFbxObject& Copy(const KFbxObject& pObject);
00261 
00262 protected:
00263     KFbxMarker(KFbxSdkManager& pManager, char const* pName);
00264 
00265     virtual void Construct(const KFbxMarker* pFrom);
00266     virtual bool ConstructProperties(bool pForceSet);
00267 
00268     void Reset( bool pResetProperties );
00269 
00274     virtual const char* GetTypeName() const;
00275     virtual KStringList GetTypeFlags() const;
00276 
00277     EType mType;
00278 
00279     KFbxProperty dynProp; 
00280     
00281     
00282     
00283     
00284 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00285 };
00286 
00287 typedef KFbxMarker* HKFbxMarker;
00288 
00289 inline EFbxType FbxTypeOf( KFbxMarker::ELook const &pItem )         { return eENUM; }
00290 
00291 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00292 
00293 #endif // FBXFILESDK_KFBXPLUGINS_KFBXMARKER_H
00294