XSIImageLibrary.h

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 _XSIIMAGELIBRARY_H
00017 #define _XSIIMAGELIBRARY_H
00018 
00019 #include "Template.h"
00020 
00021 class CSLImage;
00022 
00029 class XSIEXPORT CSLImageLibrary
00030     : public CSLTemplate
00031 {
00032 public:
00038     CSLImageLibrary(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00039 
00041     virtual ~CSLImageLibrary();
00042 
00046     ETemplateType Type(){ return XSI_IMAGE_LIBRARY; }
00047 
00051     SI_Error Synchronize();
00052 
00053     virtual CSLAnimatableType*      ParameterFromName(SI_Char *in_szName);
00054 
00056     // Image Functionality /////////////////////////////////////////////////
00058 
00062     CSLImage* AddImage();
00063 
00068     SI_Error RemoveImage( SI_Int in_nIndex );
00069 
00074     SI_Error RemoveImage( CSLImage* in_pToRemove );
00075 
00079     SI_Error ClearImages();
00080 
00085     CSLImage* ConnectImage( CSLImage* in_pToConnect );
00086 
00090     CSLImage** GetImageList();
00091 
00095     SI_Int GetImageCount();
00096 
00101     CSLImage* FindImage( SI_Char* in_szImageName );
00102 
00103 private:
00104     CSIBCArray<CSLImage*> m_Images;
00105 
00106     SI_Void *m_pReserved;
00107 };
00108 
00109 #endif