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_ */