00001 /**************************************************************************************** 00002 THIS CODE IS PUBLISHED AS A SAMPLE ONLY AND IS PROVIDED "AS IS". 00003 IN NO EVENT SHALL SOFTIMAGE, AVID TECHNOLOGY, INC. AND/OR THEIR RESPECTIVE 00004 SUPPLIERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 00005 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 00006 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 00007 CONNECTION WITH THE USE OR PERFORMANCE OF THIS CODE . 00008 00009 COPYRIGHT NOTICE. Copyright © 1999-2002 Avid Technology Inc. . All rights reserved. 00010 00011 SOFTIMAGE is a registered trademark of Avid Technology Inc. or its subsidiaries 00012 or divisions. Windows NT is a registered trademark of Microsoft Corp. All other 00013 trademarks contained herein are the property of their respective owners. 00014 ****************************************************************************************/ 00015 00016 #ifndef _XSIIMAGEDATA_H 00017 #define _XSIIMAGEDATA_H 00018 00019 #include "Template.h" 00020 #include "XSIImage.h" 00021 00022 #ifndef _SL_INT_ARRAY_PROXY_EXPORT_ 00023 #define _SL_INT_ARRAY_PROXY_EXPORT_ 00024 00025 #endif 00026 00033 class XSIEXPORT CSLImageData 00034 : public CSLTemplate 00035 { 00036 public: 00037 00040 typedef CSLArrayProxy<SI_Int, SI_Int, 1> CSLIntArray; 00041 00043 enum ECompressionType 00044 { 00045 SI_UNCOMPRESSED = 0, 00046 }; 00047 00053 CSLImageData(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00054 00056 virtual ~CSLImageData(); 00057 00061 SI_Error Synchronize(); 00062 00066 ETemplateType Type(){ return XSI_IMAGE_DATA; } 00067 00071 SI_Void SetImageData( CSIBCArray<SI_Int> &in_Data ); 00072 00076 SI_Int GetImageDataCount(); 00077 00081 CSLIntArray* GetImageDataList(); 00082 00086 SI_Int* GetImageDataListPtr(); 00087 00091 ECompressionType GetCompressionType(); 00092 00096 SI_Void SetCompressionType( ECompressionType in_Type ); 00097 00098 private: 00099 CSLEnumProxy<ECompressionType, SI_UNCOMPRESSED> m_CompressionType; 00100 CSLIntArray m_ImageData; 00101 00102 SI_Void *m_pReserved; 00103 }; 00104 00105 #endif