00001 //*************************************************************************************** 00002 // 00003 // File supervisor: Crosswalk team 00004 // 00005 // Copyright 2008 Autodesk, Inc. All rights reserved. 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 00012 #ifndef _XSIIMAGEDATA_H 00013 #define _XSIIMAGEDATA_H 00014 00015 #include "Template.h" 00016 #include "XSIImage.h" 00017 00018 #ifndef _SL_INT_ARRAY_PROXY_EXPORT_ 00019 #define _SL_INT_ARRAY_PROXY_EXPORT_ 00020 00021 #endif 00022 00027 class XSIEXPORT CSLImageData 00028 : public CSLTemplate 00029 { 00030 public: 00031 00034 typedef CSLArrayProxy<SI_Int, SI_Int, 1> CSLIntArray; 00035 00037 enum ECompressionType 00038 { 00039 SI_UNCOMPRESSED = 0, 00040 }; 00041 00047 CSLImageData(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00048 00050 virtual ~CSLImageData(); 00051 00055 SI_Error Synchronize(); 00056 00060 ETemplateType Type(){ return XSI_IMAGE_DATA; } 00061 00065 SI_Void SetImageData( CSIBCArray<SI_Int> &in_Data ); 00066 00070 SI_Int GetImageDataCount(); 00071 00075 CSLIntArray* GetImageDataList(); 00076 00080 SI_Int* GetImageDataListPtr(); 00081 00085 ECompressionType GetCompressionType(); 00086 00090 SI_Void SetCompressionType( ECompressionType in_Type ); 00091 00092 private: 00093 CSLEnumProxy<ECompressionType, SI_UNCOMPRESSED> m_CompressionType; 00094 CSLIntArray m_ImageData; 00095 00096 SI_Void *m_pReserved; 00097 }; 00098 00099 #endif