Delaunay mesh.
More...
|
template<typename Mesh > |
bool | Euclid::is_delaunay (const Mesh &mesh, double eps=1e-14) |
| Test if a mesh is Delaunay. More...
|
|
template<typename Mesh > |
bool | Euclid::is_delaunay (const Mesh &mesh, edge_t< Mesh > e, double eps=1e-14) |
| Test if an edge is locally Delaunay. More...
|
|
template<typename Mesh > |
void | Euclid::remesh_delaunay (Mesh &mesh, RemeshDelaunayScheme scheme=RemeshDelaunayScheme::SimpleFlip, double dihedral_angle=10.0) |
| Remesh an arbitary mesh into Delaunay mesh. More...
|
|
template<typename Mesh , typename Visitor > |
void | Euclid::remesh_delaunay (Mesh &mesh, Visitor &visitor, RemeshDelaunayScheme scheme=RemeshDelaunayScheme::SimpleFlip, double dihedral_angle=10.0) |
| Remesh an arbitary mesh into Delaunay mesh. More...
|
|
Reference
[1] Dyer, R., etc. Delaunay mesh construction.
Enumerator |
---|
SimpleFlip |
Just flip non-locally Delaunay edges untils they disappear.
This will change the underlying geometry when flipping non-planar edges. Some edges cannot be flipped (cf. Fig 6 [1]), thus they output is not guaranteed to be Delaunay.
|
GeometryPreserving |
Combine edge flip with edge split.
This will keep the underlying geometry intact, since non-planar edges are not flipped. Instead, a lot more vertices will be inserted into the mesh.
|
FeaturePreserving |
A combination of the simple flip and geometry presvering scheme.
Do edge split only on edges with a dihedral angle larger than a threshold. Otherwise just flip that edge, which will incur a small geometric change.
|
template<typename Mesh >
bool Euclid::is_delaunay |
( |
const Mesh & |
mesh, |
|
|
double |
eps = 1e-14 |
|
) |
| |
Return true if all edges are locally Delaunay.
template<typename Mesh >
bool Euclid::is_delaunay |
( |
const Mesh & |
mesh, |
|
|
edge_t< Mesh > |
e, |
|
|
double |
eps = 1e-14 |
|
) |
| |
Return true if a1 + a2 <= PI, where a1, a2 are the angles of opposite corners.
- Parameters
-
mesh | Input mesh. |
scheme | Remesh scheme. |
dihedral_angle | The threshold used for FeaturePreserving scheme. |
template<typename Mesh , typename Visitor >
- Parameters
-
mesh | Input mesh. |
visitor | Remesh visitor. |
scheme | Remesh scheme. |
dihedral_angle | The threshold used for FeaturePreserving scheme. |