#ifndef __AbstractSurfacePatch_H__ #define __AbstractSurfacePatch_H__ #include "SurfaceTypes.h" #include "SurfaceVertex.h" namespace Ogre { class AbstractSurfacePatch { public: AbstractSurfacePatch(); virtual ~AbstractSurfacePatch(); SurfaceVertexIterator getVerticesBegin(void); SurfaceVertexIterator getVerticesEnd(void); virtual void addTriangle(const SurfaceVertex& v0,const SurfaceVertex& v1,const SurfaceVertex& v2) = 0; virtual void fillVertexAndIndexData(std::vector& vecVertices, std::vector& vecIndices) = 0; protected: std::set m_listVertices; }; } #endif /* __AbstractSurfacePatch_H__ */