#include <BWDelaunay.hpp>
|
| BWDelaunay (const std::vector< double > &points) |
| instanciate a new Bowyer-Watson Delaunay triangulation with given points. More...
|
|
void | set_vertices (const std::vector< double > &points) |
| Set the points to be triangulated. More...
|
|
void | tetrahedralize () |
| Perform the tetrahedralization on the given set of points. More...
|
|
unsigned int | vertex_number () |
|
const double * | vertex_ptr (unsigned int vertexIndex) const |
| Allows to get a vertex coordinates array from its index in the _vertices vector. More...
|
|
unsigned int | edge_number () |
|
const unsigned int * | edge_ptr (unsigned int edgeIndex) const |
|
void | export_to_mesh_file (std::string filePath) |
| Exports the tetrahedralization to a Gmsh .mesh file, containing the vertices, edges and tetrahedra. More...
|
|
|
std::vector< double > | _vertices |
| The list of vertices coordinates in the tetrahedralization. More...
|
|
std::vector< unsigned int > | _virtualVertices |
| The list of virtual vertices coordinates in the tetrahedralization. More...
|
|
std::vector< unsigned int > | _tetToVertex |
| The relationship between tetrahedra and their vertices index. More...
|
|
std::vector< unsigned int > | _tetToTet |
| The adjacency relationship between tetrahedra. More...
|
|
std::vector< unsigned int > | _nextTetrahedron |
| A vector containing the list of empty spaces in the _tetToVertex vector. More...
|
|
std::vector< unsigned int > | _edgesToVertex |
| The relationship between tetrahedra edges and their vertices index. More...
|
|
std::vector< double > | _circumRadii |
| The radii of the tetrahedra circumspheres. More...
|
|
std::vector< double > | _circumCentres |
| The centre coordinates of the tetrahedra circumspheres. More...
|
|
unsigned int | _firstFreeTetIndex |
| The index of the first available space in the _tetToVertex vector. More...
|
|
double | _minPoint [3] |
| The min corner of the vertices bounding box. More...
|
|
double | _midPoint [3] |
| The mid of the vertices bounding box. More...
|
|
double | _maxPoint [3] |
| The max point of the vertices bounding box. More...
|
|
|
static const unsigned int | NotInList = (unsigned int)(-1) |
| A flag to determine if an index is in a list. More...
|
|
◆ BWDelaunay()
BWDelaunay::BWDelaunay |
( |
const std::vector< double > & |
points | ) |
|
instanciate a new Bowyer-Watson Delaunay triangulation with given points.
◆ delete_tetrahedron()
void BWDelaunay::delete_tetrahedron |
( |
unsigned int |
tetIndex | ) |
|
|
private |
Deletes the tetrahedron with index tetIndex
.
◆ edge_number()
unsigned int BWDelaunay::edge_number |
( |
| ) |
|
|
inline |
- Returns
- The number of edges in the tetrahedralization.
◆ edge_ptr()
const unsigned int* BWDelaunay::edge_ptr |
( |
unsigned int |
edgeIndex | ) |
const |
|
inline |
- Returns
- A const reference to the
_edgesToVertex
vector.
◆ export_to_mesh_file()
void BWDelaunay::export_to_mesh_file |
( |
std::string |
filePath | ) |
|
Exports the tetrahedralization to a Gmsh .mesh file, containing the vertices, edges and tetrahedra.
◆ is_point_inside_tet_circumsphere()
bool BWDelaunay::is_point_inside_tet_circumsphere |
( |
unsigned int |
pointIndex, |
|
|
unsigned int |
tetIndex |
|
) |
| |
|
private |
- Returns
true
or false
wether the vertex with index vertexIndex
is inside the circumsphere of tetrahedron with index tetIndex
.
◆ is_virtual_tetrahedron()
bool BWDelaunay::is_virtual_tetrahedron |
( |
unsigned int |
tetIndex | ) |
|
|
private |
- Returns
true
or false
wether the tetrahedron with index tetIndex
is virtual, i.e. the tetrahedron is connnected to a virtual point.
◆ new_tetrahedron() [1/2]
unsigned int BWDelaunay::new_tetrahedron |
( |
| ) |
|
|
private |
Creates a new empty tetrahedron.
- Returns
- The index of the new tetrahedron in the
_tetToVertex
vector.
◆ new_tetrahedron() [2/2]
unsigned int BWDelaunay::new_tetrahedron |
( |
unsigned int |
v0Index, |
|
|
unsigned int |
v1Index, |
|
|
unsigned int |
v2Index, |
|
|
unsigned int |
v3Index |
|
) |
| |
|
private |
Creates a new tetrahedron with given vertices index.
- Returns
- The index of the new tetrahedron in the
_tetToVertex
vector.
◆ set_vertices()
void BWDelaunay::set_vertices |
( |
const std::vector< double > & |
points | ) |
|
Set the points to be triangulated.
◆ tetrahedralize()
void BWDelaunay::tetrahedralize |
( |
| ) |
|
Perform the tetrahedralization on the given set of points.
◆ tetrahedron_circum_centre()
void BWDelaunay::tetrahedron_circum_centre |
( |
double(&) |
centre[3], |
|
|
unsigned int |
tetIndex |
|
) |
| |
|
private |
Computes the coordinates of the centre of the circumsphere related to tetrahedron with index tetIndex
.
◆ vertex_number()
unsigned int BWDelaunay::vertex_number |
( |
| ) |
|
|
inline |
- Returns
- The number of vertices in the tetrahedralization.
◆ vertex_ptr()
const double* BWDelaunay::vertex_ptr |
( |
unsigned int |
vertexIndex | ) |
const |
|
inline |
Allows to get a vertex coordinates array from its index in the _vertices
vector.
- Returns
- A double array pointer to the coordinates of the vertex with index
vertexIndex
in the _vertices
vector.
◆ _circumCentres
std::vector<double> BWDelaunay::_circumCentres |
|
private |
The centre coordinates of the tetrahedra circumspheres.
◆ _circumRadii
std::vector<double> BWDelaunay::_circumRadii |
|
private |
The radii of the tetrahedra circumspheres.
◆ _edgesToVertex
std::vector<unsigned int> BWDelaunay::_edgesToVertex |
|
private |
The relationship between tetrahedra edges and their vertices index.
◆ _firstFreeTetIndex
unsigned int BWDelaunay::_firstFreeTetIndex |
|
private |
The index of the first available space in the _tetToVertex
vector.
◆ _maxPoint
double BWDelaunay::_maxPoint[3] |
|
private |
The max point of the vertices bounding box.
◆ _midPoint
double BWDelaunay::_midPoint[3] |
|
private |
The mid of the vertices bounding box.
◆ _minPoint
double BWDelaunay::_minPoint[3] |
|
private |
The min corner of the vertices bounding box.
◆ _nextTetrahedron
std::vector<unsigned int> BWDelaunay::_nextTetrahedron |
|
private |
A vector containing the list of empty spaces in the _tetToVertex
vector.
◆ _tetToTet
std::vector<unsigned int> BWDelaunay::_tetToTet |
|
private |
The adjacency relationship between tetrahedra.
◆ _tetToVertex
std::vector<unsigned int> BWDelaunay::_tetToVertex |
|
private |
The relationship between tetrahedra and their vertices index.
◆ _vertices
std::vector<double> BWDelaunay::_vertices |
|
private |
The list of vertices coordinates in the tetrahedralization.
◆ _virtualVertices
std::vector<unsigned int> BWDelaunay::_virtualVertices |
|
private |
The list of virtual vertices coordinates in the tetrahedralization.
◆ NotInList
const unsigned int BWDelaunay::NotInList = (unsigned int)(-1) |
|
staticprivate |
A flag to determine if an index is in a list.
The documentation for this class was generated from the following files: