fbxthumbnail.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_THUMBNAIL_H_
00014 #define _FBXSDK_SCENE_THUMBNAIL_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/core/fbxobject.h>
00019 
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021 
00022 class FbxThumbnailMembers;
00023 class FbxManager;
00024 
00028 class FBXSDK_DLL FbxThumbnail : public FbxObject
00029 {
00030     FBXSDK_OBJECT_DECLARE(FbxThumbnail,FbxObject);
00031 
00032 public:
00037 
00039     FbxPropertyT<FbxInt> CustomHeight;
00040 
00042     FbxPropertyT<FbxInt> CustomWidth;
00043 
00048     enum EDataFormat
00049     {
00050         eRGB_24, // 3 components
00051         eRGBA_32 // 4 components
00052     };
00053 
00057     void SetDataFormat(EDataFormat pDataFormat);
00058 
00062     EDataFormat GetDataFormat() const;
00063 
00064 
00071     enum EImageSize
00072     {
00073         eNotSet = 0,
00074         e64x64 = 64,
00075         e128x128 = 128,
00076         eCustomSize = -1
00077     };
00078 
00082     void SetSize(EImageSize pImageSize);    
00083 
00087     EImageSize GetSize() const;
00088 
00092     unsigned long GetSizeInBytes() const;
00093 
00094 
00096 
00101 
00116     bool SetThumbnailImage(const FbxUChar* pImage);
00117 
00122     FbxUChar* GetThumbnailImage() const;
00123 
00125 
00126 
00128 //
00129 //  WARNING!
00130 //
00131 //  Anything beyond these lines may not be documented accurately and is 
00132 //  subject to change without notice.
00133 //
00135 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00136 
00137     virtual FbxObject&  Copy(const FbxObject& pObject);
00138 
00139 protected:
00141     FbxThumbnail(FbxManager& pManager, char const* pName);
00142 
00143     virtual void Construct(const FbxThumbnail* pFrom);
00144     virtual bool ConstructProperties( bool pForceSet );
00145     virtual void Destruct(bool pRecursive, bool pDependents);
00146 
00147     // Members
00148     FbxManager* mManager;
00149     FbxThumbnailMembers* mMembers;
00150 
00151 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS 
00152 };
00153 
00154 #include <fbxsdk/fbxsdk_nsend.h>
00155 
00156 #endif /* _FBXSDK_SCENE_THUMBNAIL_H_ */