#include <triangulation.h>
Public Types | |
typedef Edge *(Triangulation::* | finderInitialEdge_mode )() const |
Public Member Functions | |
Triangulation (const float, const float, const float, const float, const VertexFinderMode=VERTEX_FINDER_MODE_LAST) | |
~Triangulation () | |
Vertex * | addVertexAt (Coordinates, Edge *=NULL) |
Vertex * | addVertexAt (float x, float y, Edge *e=NULL) |
Vertex * | vertexAt (float, float, float=EPSILON) const |
Vertex * | vertexAt (Coordinates c, float p=EPSILON) const |
Vertex * | moveVertex (Vertex *v, Coordinates c) |
Vertex * | moveVertex (Vertex *v, float x, float y) |
Vertex * | moveVertexTo (Vertex *v, Coordinates c) |
void | delVertex (Vertex *v) |
void | mergeVertex (Vertex *v, Vertex *v_destroyed) |
unsigned int | getIndexOf (Vertex *) const |
std::vector< Edge * > | getEdges () const |
unsigned int | getVerticeCount () const |
float | getXmin () const |
float | getXmax () const |
float | getYmin () const |
float | getYmax () const |
float | epsilon () const |
VertexFinderMode | getFinderMode () const |
void | setFinderMode (VertexFinderMode) |
bool | haveVertex (Vertex *) const |
bool | collideAt (Coordinates) const |
bool | opt_isdebug () const |
bool | opt_follow_search () const |
IteratorVertexToNeighbourVertices | getNeighbors (Vertex *) |
IteratorOnEdges | iterEdges () |
IteratorOnEdges_read | iterEdges_read () const |
IteratorOnAllEdges | iterAllEdges () |
IteratorOnAllEdges_read | iterAllEdges_read () const |
IteratorOnFaces | iterFaces () |
IteratorOnFaces_read | iterFaces_read () const |
IteratorOnAllFaces | iterAllFaces () |
IteratorOnAllFaces_read | iterAllFaces_read () const |
IteratorOnVertices | iterVertices () |
IteratorOnVertices_read | iterVertices_read () const |
IteratorOnAllVertices | iterAllVertices () |
IteratorOnAllVertices_read | iterAllVertices_read () const |
Delaunay Triangulation class definition. Main object manipulated by user/wrapper. Provide iterators, access to Vertices, Faces, Edges,... Have all methods for add, delete and move Vertices.
Triangulation::Triangulation | ( | const float | xmin, |
const float | xmax, | ||
const float | ymin, | ||
const float | ymax, | ||
const VertexFinderMode | finder_mode = VERTEX_FINDER_MODE_LAST |
||
) |
Wait for limits of triangulation in axis x and y.
xmin | minimal value in x axis allowed |
xmax | maximal value in x axis allowed |
ymin | minimal value in y axis allowed |
ymax | maximal value in y axis allowed |
finder_mode | for choose which mode of finder will be used for search Coordinates, LAST by default |
Triangulation::~Triangulation | ( | ) |
Frees all Faces, Vertices and Edges.
Vertex * Triangulation::addVertexAt | ( | Coordinates | p, |
Edge * | first = NULL |
||
) |
Add a new vertex to Mesh at given coordinates.
p | Coordinates where Vertex will be add |
first | initial Edge use by finder, in place of the one taked according to FinderMode |
bool Triangulation::collideAt | ( | Coordinates | c | ) | const |
c | Coordinates of tested point |
void Triangulation::delVertex | ( | Vertex * | del_vrtx | ) |
VertexFinderMode Triangulation::getFinderMode | ( | ) | const |
unsigned int Triangulation::getIndexOf | ( | Vertex * | v | ) | const |
Return index of a Vertex in Triangulation container.
v | Vertex that will be found |
IteratorVertexToNeighbourVertices Triangulation::getNeighbors | ( | Vertex * | v | ) |
Infinite iteration on all neighbour vertices of a given Vertex.
v | the targeted Vertex |
bool Triangulation::haveVertex | ( | Vertex * | v | ) | const |
Vertex * Triangulation::moveVertexTo | ( | Vertex * | mv_vrtx, |
Coordinates | new_position | ||
) |
Move given vertex at given Coordinates. Modify the mesh in consequence. Vertex can't pass over the mesh bounds.
void Triangulation::setFinderMode | ( | VertexFinderMode | m | ) |
Vertex * Triangulation::vertexAt | ( | float | x, |
float | y, | ||
float | precision = EPSILON |
||
) | const |