A data structure for 3D Voronoi cells.
More...
#include <easy3d/algo/delaunay_3d.h>
|
void | clear () |
|
unsigned int | nb_facets () const |
|
unsigned int | facet_begin (unsigned int f) const |
|
unsigned int | facet_end (unsigned int f) const |
|
unsigned int | nb_vertices (unsigned int f) const |
|
unsigned int | next_around_facet (unsigned int f, unsigned int i) const |
|
unsigned int | prev_around_facet (unsigned int f, unsigned int i) const |
|
unsigned int | facet_bisector (unsigned int f) const |
|
int | edge_bisector (unsigned int i) const |
|
const vec3 & | vertex (unsigned int i) const |
|
bool | vertex_is_infinite (unsigned int i) const |
|
void | begin_facet (unsigned int f_bisector) |
|
void | add_to_facet (int e_bisector, const vec3 &v, bool infinite) |
|
void | add_to_facet (int e_bisector, bool infinite) |
|
void | end_facet () |
|
unsigned int | find_facet (unsigned int bisector) |
|
A data structure for 3D Voronoi cells.
A 3D Voronoi cell stores the dual facets in a Compressed Row Storage array.
- Each facet knows the bisector it is on, and the list of vertices/edges.
- Each vertex knows the tet it is dual to.
- Each edge knows the other bisector it is on (an edge is defined as the intersection between the facet bisector and the edge bisector).
◆ edge_bisector()
int edge_bisector |
( |
unsigned int |
i | ) |
const |
|
inline |
-The vertices of facet(f) are denoted by indices i in the range [facet_begin(f) ... facet_end(f) - 1].
- vertex i is the dual of a tetrahedron t incident to the edge [v1,v2]
- edge_bisector(i) returns the vertex of t oriented clockwise relative to the edge [v1,v2].
- Note: an infinite facet has two vertices i1 and i2 that are dual to infinite tetrahedra. Supposing the proper ordering of i1 and i2, edge_bisector(i1) returns the vertex of the boundary facet that is incident to [v1,v2], and edge_bisector(i2) returns -1 (infinite vertex). (the other vertex of the other boundary facet that is incident to [v1,v2] is encountered when traversing the dual vertex/tetrahedron that precedes v2).
◆ facet_bisector()
unsigned int facet_bisector |
( |
unsigned int |
f | ) |
const |
|
inline |
- This VoronoiCell3d is the dual of vertex v1,
- Facet f lies on the bisector plane of [v1,v2],
- facet_bisector(f) returns v2.
◆ vertex()
const vec3 & vertex |
( |
unsigned int |
i | ) |
const |
|
inline |
- For finite dual vertices, returns the Voronoi vertex.
- For dual vertices at infinity, returns the direction (normal to primal facet on the boundary).
The documentation for this class was generated from the following file: