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 _XSITRIANGLELIST_H 00013 #define _XSITRIANGLELIST_H 00014 00015 #include "XSISubComponentList.h" 00016 #include "Material.h" 00017 00018 00028 class XSIEXPORT CSLXSITriangleList 00029 : public CSLXSISubComponentList 00030 { 00031 public: 00038 CSLXSITriangleList(CSLScene *in_pScene, CSLModel *in_pModel, CdotXSITemplate *in_pTemplate); 00039 00042 virtual ~CSLXSITriangleList(); 00043 00047 virtual ETemplateType Type() { return XSI_TRIANGLE_LIST; } 00048 00052 CSLBaseMaterial* GetMaterial() { return m_pMaterial; } 00053 00057 CSIBCString GetMaterialName(); 00058 00063 SI_Void SetMaterial(CSLBaseMaterial *in_pNewMaterial); 00064 00069 SI_Void SetMaterialName(const CSIBCString& in_szNewMaterialName); 00070 00074 CSLIntArray* GetVertexIndices(); 00075 00079 SI_Int GetTriangleCount(); 00080 00084 virtual SI_Error SetCount(SI_Int); 00085 00089 virtual SI_Error Synchronize(); 00090 00091 private: 00092 CSLIntArray m_VertexIndices; 00093 00094 CSLBaseMaterial* m_pMaterial; 00095 00096 CSIBCString m_szMaterialName; 00097 00098 void *m_pReserved; // reserved for future extension 00099 }; 00100 00101 #endif