3D Delaunay triangulation - the main class
More...
#include <Fade_3D.h>
Fade_3D represents a 3D Delaunay triangulation (tetrahedralization)
◆ checkValidity()
bool FADE3D::Fade_3D::checkValidity |
( |
const std::string & |
msg, |
|
|
bool |
bCheckSphereInc |
|
) |
| |
This is a debug method, primary ment for internal use to check if the internal data strucutre is valid. It may be time-consuming. Don't use this method unless you assume that something is wrong.
- Parameters
-
msg | is a debug string that will be shown when the check fails |
bCheckSphereInc | specifies if the empty sphere property shall be checked also |
◆ getTetrahedra()
void FADE3D::Fade_3D::getTetrahedra |
( |
std::vector< Tet3 *> & |
vTetrahedra | ) |
const |
- Parameters
-
[out] | vTetrahedra | is used to return Tet3 pointers. |
◆ getTetsAroundVertex()
void FADE3D::Fade_3D::getTetsAroundVertex |
( |
Point3 * |
pVtx, |
|
|
std::vector< Tet3 *> & |
vTetOut |
|
) |
| |
- Parameters
-
[in] | pVtx | is the query vertex |
[out] | vTetOut | is used to return the incident tetrahedra |
◆ getVertices()
void FADE3D::Fade_3D::getVertices |
( |
std::vector< Point3 *> & |
vVertices | ) |
const |
- Parameters
-
[out] | vVertices | is used to return Point3 pointers. The order does not necessrily coincide with the insertion order. |
- Note
- When duplicate points are inserted then only one copy is made and consequently only one vertex pointer is returned for them. Thus the number of points returned by the present method can be smaller than the number of inserted points.
◆ insert() [1/3]
- Parameters
-
p | is the point to be inserted. |
The triangulation keeps a copy of p and returns a pointer to this copy. If duplicate points are inserted the returned pointer is always the same (the one of the very first insertion).
- Returns
- a pointer to the point in the triangulation
- Note
- This method is fast but it is even faster to pass all points at once if possible. See void insert(const std::vector<Point3>& vInputPoints)
◆ insert() [2/3]
void FADE3D::Fade_3D::insert |
( |
std::vector< Point3 > & |
vInputPoints | ) |
|
- Parameters
-
vInputPoints | contains the points to be inserted. |
◆ insert() [3/3]
void FADE3D::Fade_3D::insert |
( |
std::vector< Point3 > & |
vInputPoints, |
|
|
std::vector< Point3 *> & |
vHandlesOut |
|
) |
| |
- Parameters
-
[in] | vInputPoints | contains the points to be inserted. |
[out] | vHandlesOut | (empty) is used to return Point3 pointers |
Internally, the triangulation keeps copies of the inserted points which are returned in vHandles (in the same order). If duplicate points are contained in vInputPoints then only one copy will be made and a pointer to this unique copy will be stored in vHandles for every occurance.
◆ is3D()
bool FADE3D::Fade_3D::is3D |
( |
| ) |
const |
Check if the triangulation containts tetrahedra. This is the case if at least 4 non-coplanar vertices exist.
◆ locate()
- Parameters
-
- Returns
- a pointer to a Tet3 object (or NULL if is3D()==false or if p is outside the triangulation)
◆ show()
void FADE3D::Fade_3D::show |
( |
const std::string & |
filename, |
|
|
Point3 * |
pVtx = NULL |
|
) |
| |
This method draws all tetrahedra. The output is a *.list file for Geomview
The documentation for this class was generated from the following file:
- /home/geom/repo/dev/geomDev/dt3/dt3Library/Fade_3D.h