#ifndef __VERTEXDATA_H__ #define __VERTEXDATA_H__ namespace Geometry { class IndexData { private: public: IndexData(void){} virtual ~IndexData(void){} virtual void Begin(unsigned int submesh, unsigned int numinds)=0; virtual void SetIndex(unsigned int i, unsigned int index)=0; virtual void End(void)=0; virtual void BorrowIndexData(const IndexData *)=0; // tells the application to use this IndexData. If the app must use its own IndexData the param will be NULL }; /* typedef IndexData* CreateIndexDataFunc(unsigned int numi); typedef CreateIndexDataFunc* CREATEINDEXDATAFUNC; class DefaultIndexData : public IndexData { private: unsigned int *indices; public: DefaultIndexData(void){ indices=0; } ~DefaultIndexData(void); virtual void Init(unsigned int); virtual void Begin(unsigned int submesh, unsigned int numinds){} virtual void SetIndex(unsigned int i, unsigned int index){ indices[i] = index; } virtual void End(void){} virtual unsigned int GetIndex(unsigned int i) const { return indices[i]; } virtual void BorrowIndexData(const IndexData *){} }; IndexData *DefaultIndexDataCreator(unsigned int numi);*/ } #endif