58 return (
unsigned int)(
_vertices.size()/3);
66 inline const double *
vertex_ptr(
unsigned int vertexIndex)
const {
80 inline const unsigned int *
edge_ptr(
unsigned int edgeIndex)
const {
103 unsigned int new_tetrahedron(
unsigned int v0Index,
unsigned int v1Index,
unsigned int v2Index,
unsigned int v3Index);
131 static const unsigned int NotInList = (
unsigned int)(-1);
Definition: BWDelaunay.hpp:35
void export_to_mesh_file(std::string filePath)
Exports the tetrahedralization to a Gmsh .mesh file, containing the vertices, edges and tetrahedra.
Definition: BWDelaunay.cpp:461
unsigned int new_tetrahedron()
Creates a new empty tetrahedron.
Definition: BWDelaunay.cpp:302
BWDelaunay(const std::vector< double > &points)
instanciate a new Bowyer-Watson Delaunay triangulation with given points.
Definition: BWDelaunay.cpp:41
unsigned int vertex_number()
Definition: BWDelaunay.hpp:57
std::vector< double > _circumRadii
The radii of the tetrahedra circumspheres.
Definition: BWDelaunay.hpp:167
void delete_tetrahedron(unsigned int tetIndex)
Deletes the tetrahedron with index tetIndex.
Definition: BWDelaunay.cpp:373
std::vector< unsigned int > _edgesToVertex
The relationship between tetrahedra edges and their vertices index.
Definition: BWDelaunay.hpp:162
std::vector< unsigned int > _tetToVertex
The relationship between tetrahedra and their vertices index.
Definition: BWDelaunay.hpp:147
void set_vertices(const std::vector< double > &points)
Set the points to be triangulated.
Definition: BWDelaunay.cpp:49
double _maxPoint[3]
The max point of the vertices bounding box.
Definition: BWDelaunay.hpp:192
std::vector< double > _vertices
The list of vertices coordinates in the tetrahedralization.
Definition: BWDelaunay.hpp:137
unsigned int edge_number()
Definition: BWDelaunay.hpp:73
const double * vertex_ptr(unsigned int vertexIndex) const
Allows to get a vertex coordinates array from its index in the _vertices vector.
Definition: BWDelaunay.hpp:66
std::vector< unsigned int > _nextTetrahedron
A vector containing the list of empty spaces in the _tetToVertex vector.
Definition: BWDelaunay.hpp:157
std::vector< unsigned int > _tetToTet
The adjacency relationship between tetrahedra.
Definition: BWDelaunay.hpp:152
void tetrahedralize()
Perform the tetrahedralization on the given set of points.
Definition: BWDelaunay.cpp:77
bool is_virtual_tetrahedron(unsigned int tetIndex)
Definition: BWDelaunay.cpp:285
double _minPoint[3]
The min corner of the vertices bounding box.
Definition: BWDelaunay.hpp:182
static const unsigned int NotInList
A flag to determine if an index is in a list.
Definition: BWDelaunay.hpp:131
bool is_point_inside_tet_circumsphere(unsigned int pointIndex, unsigned int tetIndex)
Definition: BWDelaunay.cpp:396
void tetrahedron_circum_centre(double(¢re)[3], unsigned int tetIndex)
Computes the coordinates of the centre of the circumsphere related to tetrahedron with index tetIndex...
Definition: BWDelaunay.cpp:405
std::vector< unsigned int > _virtualVertices
The list of virtual vertices coordinates in the tetrahedralization.
Definition: BWDelaunay.hpp:142
std::vector< double > _circumCentres
The centre coordinates of the tetrahedra circumspheres.
Definition: BWDelaunay.hpp:172
const unsigned int * edge_ptr(unsigned int edgeIndex) const
Definition: BWDelaunay.hpp:80
unsigned int _firstFreeTetIndex
The index of the first available space in the _tetToVertex vector.
Definition: BWDelaunay.hpp:177
double _midPoint[3]
The mid of the vertices bounding box.
Definition: BWDelaunay.hpp:187