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