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
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021
00025 class FBXSDK_DLL FbxVideo : public FbxObject
00026 {
00027 FBXSDK_OBJECT_DECLARE(FbxVideo, FbxObject);
00028
00029 public:
00034
00035 void Reset();
00037
00045 void ImageTextureSetMipMap(bool pUseMipMap);
00046
00050 bool ImageTextureGetMipMap() const;
00051
00057 bool SetFileName(const char* pName);
00058
00062 FbxString GetFileName () const;
00063
00069 bool SetRelativeFileName(const char* pName);
00070
00074 const char* GetRelativeFileName() const;
00075
00090 void SetImageSequence(bool pImageSequence);
00091
00095 bool GetImageSequence() const;
00096
00100 void SetImageSequenceOffset(int pOffset);
00101
00105 int GetImageSequenceOffset() const;
00107
00111 double GetFrameRate() const;
00112
00116 int GetLastFrame() const;
00117
00121 int GetWidth() const;
00122
00126 int GetHeight() const;
00127
00133 void SetStartFrame(int pStartFrame);
00134
00138 int GetStartFrame() const;
00139
00145 void SetStopFrame(int pStopFrame);
00146
00150 int GetStopFrame() const;
00151
00157 void SetPlaySpeed(double pPlaySpeed);
00158
00162 double GetPlaySpeed() const;
00163
00168 void SetOffset(FbxTime pTime);
00169
00170
00171
00172
00173 FbxTime GetOffset() const;
00174
00180 void SetFreeRunning(bool pState);
00181
00185 bool GetFreeRunning() const;
00186
00187
00193 void SetLoop(bool pLoop);
00194
00198 bool GetLoop() const;
00199
00200
00203 enum EInterlaceMode
00204 {
00205 eNone,
00206 eFields,
00207 eHalfEven,
00208 eHalfOdd,
00209 eFullEven,
00210 eFullOdd,
00211 eFullEvenOdd,
00212 eFullOddEven
00213 };
00214
00218 void SetInterlaceMode(EInterlaceMode pInterlaceMode);
00219
00223 EInterlaceMode GetInterlaceMode() const;
00224
00225
00228 enum EAccessMode
00229 {
00230 eDisk,
00231 eMemory,
00232 eDiskAsync
00233 };
00234
00238 void SetAccessMode(EAccessMode pAccessMode);
00239
00243 EAccessMode GetAccessMode() const;
00245
00246
00247
00248
00249 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00250 protected:
00251 virtual void Construct(const FbxVideo* pFrom);
00252 virtual void ConstructProperties(bool pForceSet);
00253 virtual bool ConnectNotify(FbxConnectEvent const &pEvent);
00254
00255 public:
00256 virtual FbxObject& Copy(const FbxObject& pObject);
00257
00258 virtual FbxStringList GetTypeFlags() const;
00259
00260 void SetOriginalFormat(bool pState);
00261 bool GetOriginalFormat() const;
00262 void SetOriginalFilename(const char* pOriginalFilename);
00263 const char* GetOriginalFilename() const;
00264
00265 FbxPropertyT<FbxBool> ImageSequence;
00266 FbxPropertyT<FbxInt> ImageSequenceOffset;
00267 FbxPropertyT<FbxDouble> FrameRate;
00268 FbxPropertyT<FbxInt> LastFrame;
00269 FbxPropertyT<FbxInt> Width;
00270 FbxPropertyT<FbxInt> Height;
00271 FbxPropertyT<FbxString> Path;
00272 FbxPropertyT<FbxInt> StartFrame;
00273 FbxPropertyT<FbxInt> StopFrame;
00274 FbxPropertyT<FbxDouble> PlaySpeed;
00275 FbxPropertyT<FbxTime> Offset;
00276 FbxPropertyT<EInterlaceMode> InterlaceMode;
00277 FbxPropertyT<FbxBool> FreeRunning;
00278 FbxPropertyT<FbxBool> Loop;
00279 FbxPropertyT<EAccessMode> AccessMode;
00280
00281 protected:
00282 void Init();
00283
00284 bool mUseMipMap;
00285 bool mOriginalFormat;
00286 FbxString mOriginalFilename;
00287 FbxString mRelativeFilename;
00288 #endif
00289 };
00290
00291 inline EFbxType FbxTypeOf(const FbxVideo::EInterlaceMode&){ return eFbxEnum; }
00292 inline EFbxType FbxTypeOf(const FbxVideo::EAccessMode&){ return eFbxEnum; }
00293
00294 #include <fbxsdk/fbxsdk_nsend.h>
00295
00296 #endif