XSIImageLibrary.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 _XSIIMAGELIBRARY_H
00013 #define _XSIIMAGELIBRARY_H
00014 
00015 #include "Template.h"
00016 
00017 class CSLImage;
00018 
00023 class XSIEXPORT CSLImageLibrary
00024     : public CSLTemplate
00025 {
00026 public:
00032     CSLImageLibrary(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00033 
00035     virtual ~CSLImageLibrary();
00036 
00040     ETemplateType Type(){ return XSI_IMAGE_LIBRARY; }
00041 
00045     SI_Error Synchronize();
00046 
00047     virtual CSLAnimatableType*      ParameterFromName(SI_Char *in_szName);
00048 
00050     // Image Functionality /////////////////////////////////////////////////
00052 
00056     CSLImage* AddImage();
00057 
00062     SI_Error RemoveImage( SI_Int in_nIndex );
00063 
00068     SI_Error RemoveImage( CSLImage* in_pToRemove );
00069 
00073     SI_Error ClearImages();
00074 
00079     CSLImage* ConnectImage( CSLImage* in_pToConnect );
00080 
00084     CSLImage** GetImageList();
00085 
00089     SI_Int GetImageCount();
00090 
00095     CSLImage* FindImage( SI_Char* in_szImageName );
00096 
00097 private:
00098     CSIBCArray<CSLImage*> m_Images;
00099 
00100     SI_Void *m_pReserved;
00101 };
00102 
00103 #endif