On Wednesday 23 July 2008 03:26:13 [hidden email] wrote:
> is it possible to use Regular_triangulation_3 instead of
> Delaunay_triangulation_3 in make_surface_mesh in order to perform Delaunay
> refinement using weighted points?
> Thank you!
That is possible. The algorithm used by make_surface_mesh is not supposed to
handle with regular triangulations. However, a regular triangulation that has
all its points weights equal to zero is a delaunay triangulation. The
function make_surface_mesh can take use a CGAL::Regular_triangulation_3, but
there is one compilation error: the lack of the following constructor
CGAL::Weighted_point(FT x, FT y, FT z);
I have attached to this mail a modified example
examples/Surface_mesher/mesh_an_implicit_function.cpp. The solution used is
quite inelegant, but that is the easiest one without exposing too many
internal classes of Surface_mesher. I hope that can satisfy nevertheless.
Next release of CGAL should handle such a construction without any trick.
Be warned that all weights of your regular triangulation's vertices must be
equal to zero, so that the regular triangulation is actually a Delaunay
triangulation. Otherwise the algorithm is not guaranteed to finish correctly.