00001 #ifndef _Mesh_H__ 00002 #define _Mesh_H__ 00003 00004 #include <vector> 00005 #include "Plane3.h" 00006 00007 namespace GtpVisibilityPreprocessor { 00008 00010 class Patch { 00011 public: 00012 Patch():mVertices() {} 00013 protected: 00015 vector<Vector3 *> mVertices; 00016 }; 00017 00019 class Mesh { 00020 public: 00022 typedef std::vector<Vector3> VertexContainer; 00024 typedef std::vector<Patch *> PatchContainer; 00025 00027 Mesh():mVertices(), mPatches() {} 00028 00030 Mesh(const int vertices, 00031 const int patches):mVertices(), 00032 mPatches() 00033 { 00034 mVertices.reserve(vertices); 00035 mPatches.reserve(patches); 00036 } 00037 00038 protected: 00040 VertexContainer mVertices; 00042 PatchContainer mPatches; 00043 }; 00044 00045 }; 00046 00047 00048 00049 #endif