Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00013 #ifndef _FBXSDK_SCENE_VIDEO_H_
00014 #define _FBXSDK_SCENE_VIDEO_H_
00015
00016 #include <fbxsdk/fbxsdk_def.h>
00017
00018 #include <fbxsdk/core/fbxobject.h>
00019 #include <fbxsdk/core/base/fbxerror.h>
00020 #include <fbxsdk/core/math/fbxvector2.h>
00021
00022 #include <fbxsdk/scene/fbxgroupname.h>
00023
00024 #include <fbxsdk/fbxsdk_nsbegin.h>
00025
00029 class FBXSDK_DLL FbxVideo : public FbxObject
00030 {
00031 FBXSDK_OBJECT_DECLARE(FbxVideo, FbxObject);
00032
00033 public:
00038
00039 void Reset();
00041
00049 void ImageTextureSetMipMap(bool pUseMipMap);
00050
00054 bool ImageTextureGetMipMap() const;
00055
00061 bool SetFileName(char const* pName);
00062
00066 FbxString GetFileName () const;
00067
00073 bool SetRelativeFileName(char const* pName);
00074
00078 const char* GetRelativeFileName() const;
00079
00094 void SetImageSequence(bool pImageSequence);
00095
00099 bool GetImageSequence() const;
00100
00104 void SetImageSequenceOffset(int pOffset);
00105
00109 int GetImageSequenceOffset() const;
00111
00115 double GetFrameRate() const;
00116
00120 int GetLastFrame() const;
00121
00125 int GetWidth() const;
00126
00130 int GetHeight() const;
00131
00137 void SetStartFrame(int pStartFrame);
00138
00142 int GetStartFrame() const;
00143
00149 void SetStopFrame(int pStopFrame);
00150
00154 int GetStopFrame() const;
00155
00161 void SetPlaySpeed(double pPlaySpeed);
00162
00166 double GetPlaySpeed() const;
00167
00172 void SetOffset(FbxTime pTime);
00173
00174
00175
00176
00177 FbxTime GetOffset() const;
00178
00184 void SetFreeRunning(bool pState);
00185
00189 bool GetFreeRunning() const;
00190
00191
00197 void SetLoop(bool pLoop);
00198
00202 bool GetLoop() const;
00203
00204
00207 enum EInterlaceMode
00208 {
00209 eNone,
00210 eFields,
00211 eHalfEven,
00212 eHalfOdd,
00213 eFullEven,
00214 eFullOdd,
00215 eFullEvenOdd,
00216 eFullOddEven
00217 };
00218
00222 void SetInterlaceMode(EInterlaceMode pInterlaceMode);
00223
00227 EInterlaceMode GetInterlaceMode() const;
00228
00229
00232 enum EAccessMode
00233 {
00234 eDisk,
00235 eMemory,
00236 eDiskAsync
00237 };
00238
00242 void SetAccessMode(EAccessMode pAccessMode);
00243
00247 EAccessMode GetAccessMode() const;
00249
00257 FbxError& GetError();
00258
00261 enum EErrorCode
00262 {
00263 eTakeNodeError,
00264 eErrorCount
00265 };
00266
00270 EErrorCode GetLastErrorID() const;
00271
00275 const char* GetLastErrorString() const;
00277
00278 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00279 protected:
00280 FbxVideo(FbxManager& pManager, char const* pName);
00281
00282 virtual void Construct(const FbxVideo* pFrom);
00283 virtual bool ConstructProperties(bool pForceSet);
00284 virtual bool ConnecNotify(FbxConnectEvent const &pEvent);
00285
00286 public:
00287 virtual FbxObject& Copy(const FbxObject& pObject);
00288
00289 virtual FbxStringList GetTypeFlags() const;
00290
00291 void SetOriginalFormat(bool pState);
00292 bool GetOriginalFormat() const;
00293 void SetOriginalFilename(const char* pOriginalFilename);
00294 const char* GetOriginalFilename() const;
00295
00296 FbxPropertyT<FbxBool> ImageSequence;
00297 FbxPropertyT<FbxInt> ImageSequenceOffset;
00298 FbxPropertyT<FbxDouble> FrameRate;
00299 FbxPropertyT<FbxInt> LastFrame;
00300 FbxPropertyT<FbxInt> Width;
00301 FbxPropertyT<FbxInt> Height;
00302 FbxPropertyT<FbxString> Path;
00303 FbxPropertyT<FbxInt> StartFrame;
00304 FbxPropertyT<FbxInt> StopFrame;
00305 FbxPropertyT<FbxDouble> PlaySpeed;
00306 FbxPropertyT<FbxTime> Offset;
00307 FbxPropertyT<EInterlaceMode> InterlaceMode;
00308 FbxPropertyT<FbxBool> FreeRunning;
00309 FbxPropertyT<FbxBool> Loop;
00310 FbxPropertyT<EAccessMode> AccessMode;
00311
00312 protected:
00313 void Init();
00314
00315 static FbxError smError;
00316
00317 bool mUseMipMap;
00318 bool mOriginalFormat;
00319 FbxString mOriginalFilename;
00320
00321
00322 FbxString mRelativeFilename;
00323 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00324 };
00325
00326 inline EFbxType FbxTypeOf(const FbxVideo::EInterlaceMode&){ return eFbxEnum; }
00327 inline EFbxType FbxTypeOf(const FbxVideo::EAccessMode&){ return eFbxEnum; }
00328
00329 #include <fbxsdk/fbxsdk_nsend.h>
00330
00331 #endif