XSIImageData.h

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