XSIMaterialInfo.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 _XSIMATERIALINFO_H
00013 #define _XSIMATERIALINFO_H
00014 
00015 #include "Template.h"
00016 
00017 class CSLXSIMaterial;
00018 
00023 class XSIEXPORT CSLXSIMaterialInfo
00024     : public CSLTemplate
00025 {
00026 public:
00027 
00029     enum EWrapType
00030     {
00031         SI_CLAMP,   
00032         SI_REPEAT   
00033     };
00034 
00040     CSLXSIMaterialInfo(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00041 
00043     virtual ~CSLXSIMaterialInfo();
00044 
00048     ETemplateType Type(){ return XSI_MATERIAL_INFO; }
00049 
00050     virtual CSLAnimatableType* ParameterFromName(SI_Char *in_szName);
00051 
00055     EWrapType GetUWrap();
00056 
00060     SI_Void SetUWrap( EWrapType in_Type );
00061 
00065     EWrapType GetVWrap();
00066 
00070     SI_Void SetVWrap( EWrapType in_Type );
00071 
00072 private:
00073     CSLEnumProxy<EWrapType, SI_REPEAT> m_UWrap;
00074     CSLEnumProxy<EWrapType, SI_REPEAT> m_VWrap;
00075 
00076     SI_Void *m_pReserved;
00077 };
00078 
00079 #endif