- Main Page
- Classes
- Files
- Directories

- File List
- File Members

# fbxvideo.h

Go to the documentation of this file.

    00001 /****************************************************************************************
    00002
    00003    Copyright (C) 2013 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
    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(char const* pName);
    00058
    00062         FbxString GetFileName () const;
    00063
    00069         bool SetRelativeFileName(char const* 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         /* Retrieve the time offset.
    00171          * \return     The current time shift.
    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 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
    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 /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
    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 /* _FBXSDK_SCENE_VIDEO_H_ */