#ifndef CCS_MESH_GUARD #define CCS_MESH_GUARD #include "globals.h" #include "Face.h" #include "Edge.h" #include "Vertex.h" #include "../txs/TiffImage.h" namespace CCS { class Mesh { public: list faces; list edges; list verts; Mesh() {} virtual ~Mesh(); Vertex *findVertForPoint(const Point &p); Edge* attachEdge(Vertex *a, Vertex *b); Face* attachFace(list &edgeUses, TXS::TiffImage *txtr, list &uvs); void addFace(list &faceVerts, TXS::TiffImage *txtr, list &uvs); void subdivide(Mesh &out); void subdivide(Mesh &out, int times); class HeightMapFunc { public: virtual double f(TXS::NormRGB &rgb) = 0; }; void displaceVertsByTextures(HeightMapFunc *f); }; } #endif /* CCS_MESH_GUARD */