- Main Page
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# fbxvideo.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_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         /* Retrieve the time offset.
    00175          * \return     The current time shift.
    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     // Temporary values
    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 /* _FBXSDK_SCENE_VIDEO_H_ */