XSITriangleList.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _XSITRIANGLELIST_H
00015 #define _XSITRIANGLELIST_H
00016 
00017 #include "XSISubComponentList.h"
00018 #include "Material.h"
00019 
00020 
00032 class XSIEXPORT CSLXSITriangleList
00033     : public CSLXSISubComponentList
00034 {
00035 public:
00042     CSLXSITriangleList(CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate);
00043 
00046     virtual ~CSLXSITriangleList();
00047 
00051     virtual ETemplateType           Type() { return XSI_TRIANGLE_LIST; }
00052 
00056     CSLBaseMaterial*                GetMaterial() { return m_pMaterial; }
00057 
00061     CSIBCString                     GetMaterialName();
00062 
00066     SI_Void                         SetMaterial(CSLBaseMaterial *in_pNewMaterial);
00067 
00071     SI_Void                         SetMaterialName(const CSIBCString& in_szNewMaterialName);
00072 
00076     CSLIntArray*                    GetVertexIndices();
00077 
00081     SI_Int                          GetTriangleCount();
00082 
00086     virtual SI_Error                SetCount(SI_Int);
00087 
00091     virtual SI_Error Synchronize();
00092 
00093 private:
00094     CSLIntArray                     m_VertexIndices;
00095 
00096     CSLBaseMaterial*                m_pMaterial;
00097 
00098     CSIBCString                     m_szMaterialName;
00099 
00100     void *m_pReserved;  // reserved for future extension
00101 };
00102 
00103 #endif