Delaunator
2D Delaunay Triangulation in C++ with Python wrapper.
 All Classes Namespaces Functions
vertexGroup.h
1 #ifndef VERTEX_GROUP_H_INCLUDED
2 #define VERTEX_GROUP_H_INCLUDED
3 
4 
5 
6 /*
7  * LIBRARIES
8  */
9 // LOCAL MODULES
10 #include "commons.h"
11 #include "virtualVertex.h"
12 
13 
14 
15 /*
16  * DEFINES
17  */
18 
19 
20 
21 
22 /*
23  * PREDECLARATIONS
24  */
25 class Edge;
26 class VirtualVertex;
27 
28 
29 
30 
31 
37 class VertexGroup : public Vertex {
38  public:
39  // CONSTRUCTOR
40  VertexGroup();
41  ~VertexGroup();
42  // PUBLIC METHODS
43  unsigned int neighbourCount() const;
44  void take(VirtualVertex*, Vertex* = NULL);
46  void forget(VirtualVertex*);
47  // ACCESSORS
48  unsigned int getObjectCount() const;
49  unsigned int getVertexCount() const { return this->vertices.size(); }
50  std::list<VirtualVertex*> getObjects(unsigned int = 0) const;
52  // PREDICATS
53  bool isNeighbourOf(Vertex*) const;
54  bool isACorner() const;
55  bool have(VirtualVertex*) const;
56  private:
57  // ATTRIBUTES
58  std::list<Vertex*> vertices; // Vertex that composed this Group
59 };
60 
61 
62 
63 
64 
65 
66 
67 #endif