Delaunator
2D Delaunay Triangulation in C++ with Python wrapper.
 All Classes Namespaces Functions
virtualVertex.h
1 #ifndef VIRTUAL_VERTEX_H_INCLUDED
2 #define VIRTUAL_VERTEX_H_INCLUDED
3 
4 
5 
6 /*
7  * LIBRARIES
8  */
9 // LOCAL MODULES
10 #include "commons.h"
11 #include "vertex.h"
12 
13 
14 
15 /*
16  * DEFINES
17  */
18 
19 
20 
21 
22 /*
23  * PREDECLARATIONS
24  */
25 class Coordinates;
26 class Vertex;
27 
28 
29 
30 
35  public:
36  // CONSTRUCTOR
37  VirtualVertex(Vertex* = NULL);
39  // PUBLIC METHODS
40  // PREDICATS
41  bool confoundedWithAnotherObject() const;
42  // ACCESSORS
43  // getter
44  Vertex* vertex() const;
45  unsigned int id() const { return this->_id; }
46  Coordinates coordinates() const;
47  // setters
48  void setVertex(Vertex*);
49  // GRAPH EXPLORATION
50  std::list<VirtualVertex*> confundedNeighbors() const;
51  std::list<VirtualVertex*> directNeighbors() const;
52  std::list<VirtualVertex*> neighborsAt(const float, const float = 0) const;
53  std::list<VirtualVertex*> nearerNeighbors(const unsigned int, bool = false) const;
54  private:
55  // ATTRIBUTES
56  Vertex* ref_vertex;
57  unsigned int _id;
58  static unsigned int last_id;
59  // PRIVATE METHODS
60 };
61 
62 
63 
64 
65 #endif