#ifndef CCS_VERTEX_GUARD #define CCS_VERTEX_GUARD #include "globals.h" #include "../mathlib/mathlib.h" #include "../txs/TiffImage.h" #include using namespace std; namespace CCS { class Edge; class EdgeUse; class Face; class Vertex { public: Point p; // Used during catmull-clark Vertex *newVertexPt; // incident edges // not in any particular order list incEdges; Vertex(const Point &p) : p(p) { } bool findEdgeUse(Vertex *end, EdgeUse &out); void addIncEdge(Edge *edge) { this->incEdges.push_back(edge); } list getIncidentFaces(); int getValence() { return (int)incEdges.size(); } Point getPoint() { return p; } Vector calcAvgNormal(); TXS::NormRGB calcAvgColor(); }; } #endif /* CCS_VERTEX_GUARD */