00001
00004 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXGLOBALTIMESETTINGS_H
00005 #define FBXFILESDK_KFBXPLUGINS_KFBXGLOBALTIMESETTINGS_H
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #include <fbxfilesdk/components/kbaselib/kaydaradef_h.h>
00043 #include <fbxfilesdk/components/kbaselib/kaydara.h>
00044
00045 #include <fbxfilesdk/components/kbaselib/klib/kstring.h>
00046 #include <fbxfilesdk/components/kbaselib/klib/karrayul.h>
00047 #include <fbxfilesdk/components/kbaselib/klib/ktime.h>
00048 #include <fbxfilesdk/components/kbaselib/klib/kerror.h>
00049
00050 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00051
00052 class KFbxGlobalTimeSettingsProperties;
00053
00057 class KFBX_DLL KFbxGlobalTimeSettings
00058 {
00059
00060 public:
00061
00063 void RestoreDefaultSettings();
00064
00068 void SetTimeMode(KTime::ETimeMode pTimeMode);
00069
00073 KTime::ETimeMode GetTimeMode();
00074
00078 void SetTimeProtocol(KTime::ETimeProtocol pTimeProtocol);
00079
00083 KTime::ETimeProtocol GetTimeProtocol();
00084
00091 typedef enum
00092 {
00093 eNO_SNAP,
00094 eSNAP_ON_FRAME,
00095 ePLAY_ON_FRAME,
00096 eSNAP_PLAY_ON_FRAME
00097 } ESnapOnFrameMode;
00098
00102 void SetSnapOnFrameMode(ESnapOnFrameMode pSnapOnFrameMode);
00103
00107 ESnapOnFrameMode GetSnapOnFrameMode();
00108
00113
00117 void SetTimelineDefautTimeSpan(const KTimeSpan& pTimeSpan);
00118
00122 void GetTimelineDefautTimeSpan(KTimeSpan& pTimeSpan) const;
00123
00125
00130
00131 struct KFBX_DLL KFbxTimeMarker
00132 {
00133 KFbxTimeMarker();
00134 KFbxTimeMarker(const KFbxTimeMarker& pTimeMarker);
00135 KFbxTimeMarker& operator=(const KFbxTimeMarker& pTimeMarker);
00136
00137 KString mName;
00138 KTime mTime;
00139 bool mLoop;
00140 };
00141
00145 int GetTimeMarkerCount();
00146
00152 bool SetCurrentTimeMarker(int pIndex);
00153
00157 int GetCurrentTimeMarker();
00158
00164 KFbxTimeMarker* GetTimeMarker(int pIndex);
00165
00169 void AddTimeMarker(KFbxTimeMarker pTimeMarker);
00170
00172 void RemoveAllTimeMarkers();
00173
00175
00179 const KFbxGlobalTimeSettings& operator=(const KFbxGlobalTimeSettings& pGlobalTimeSettings);
00180
00185
00189 KError& GetError();
00190
00196 typedef enum
00197 {
00198 eINDEX_OUT_OF_RANGE,
00199 eERROR_COUNT
00200 } EError;
00201
00205 EError GetLastErrorID() const;
00206
00210 const char* GetLastErrorString() const;
00211
00213
00219
00224 void SetSnapOnFrame(bool pSnapOnFrame);
00225
00230 bool GetSnapOnFrame();
00231
00233
00235
00236
00237
00238
00239
00240
00242
00243 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00244
00245 private:
00246
00247 KFbxGlobalTimeSettings();
00248 ~KFbxGlobalTimeSettings();
00249
00250 KFbxGlobalTimeSettingsProperties* mPH;
00251
00252 friend class KFbxScene;
00253
00254 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00255
00256 };
00257
00258 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00259
00260 #endif // FBXFILESDK_KFBXPLUGINS_KFBXGLOBALTIMESETTINGS_H
00261