Subject: CGAL users discussion list
List archive
- From: Pedro Machado Manhães de Castro <>
- To:
- Subject: Re: [cgal-discuss] Moving a point in a Delaunay triangulation
- Date: Mon, 14 Sep 2009 13:34:32 +0200
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=cyLGPdHJkya9ENpZa20VmhV52rJJavKwsOsYzNu2lbFgsDxsasTveOXIAKf4QKmtPB 3Eyflcx/fwORuzk19bcK+VzUrQMtifhKfN+bHWcH4mkxLnEJYc1gNpDEunZ9KNWazXsl +0Vu8iWCF8rDCi2Jnt/RyXNlpSaIOhUqmSwa8=
Hello,
You can test whether a vertex v relocated to p triggers combinatorial changes, by:
1 - Storing the actual location of v somewhere ( Point fp = v->point() ).
2 - Setting the location of your vertex v to p ( v->set_point(p) ).
3 - Checking whether each adjacent cells of v are well-oriented (predicate: orientation).
4 - Checking whether each adjacent facets of v verify the empty-sphere property (predicate: side_of_sphere).
5 - Set the location of v to p, and you are done ( v->set_point(fp) ).
Your relocation will not trigger combinatorial changes if and only if 3 and 4 are true.
Better approaches exist. Here are some bib:
L. Guibas, D. Russel, An Empirical Comparison of Techniques for Updating Delaunay Triangulations, ACM Symp. on Computational Geometry, pp. 170-179, 2004
Pedro Machado Manhães de Castro, Jane Tournois, Pierre Alliez, and Olivier Devillers. Filtering relocations on a Delaunay triangulation. Computer Graphics Forum, 28:1465-1474, 2009. Note: Special issue for EUROGRAPHICS Symposium on Geometry Processing.
Best regards,
Pedro
On Sun, Sep 13, 2009 at 10:20 AM, dmyan <> wrote:
Hello,I have a question about CGAL's Delaunay triangulation 3D.Assume I have a 3D Delaunay triangulation and I am moving one of its vertex. Is there a efficient way to test whether the moving point triggers a combinatorial change of the DT?Thanks in advance!Best regardsDongming----- Original Message -----From:To:Sent: Sunday, September 13, 2009 4:45 AMSubject: [cgal-discuss] CGAL_triangulation_preconditionHello !Could you tell me what means "CGAL_triangulation_precondition()" in CGAL code ?I thought that when condition fails - then it returns from subroutine, but when I added in function Triangulation_2<Gt, Tds>::flip(Face_handle f, int i)following row:CGAL_triangulation_precondition(1 == 2);it has no any affect.Thank you.Vitaliy.
- [cgal-discuss] CGAL_triangulation_precondition, Vitaliy, 09/12/2009
- [cgal-discuss] Moving a point in a Delaunay triangulation, dmyan, 09/13/2009
- Re: [cgal-discuss] Moving a point in a Delaunay triangulation, Vitaliy, 09/13/2009
- Re: [cgal-discuss] Moving a point in a Delaunay triangulation, Pedro Machado Manhães de Castro, 09/14/2009
- Re: [cgal-discuss] CGAL_triangulation_precondition, Olivier Devillers, 09/14/2009
- Re: [cgal-discuss] CGAL_triangulation_precondition, Laurent Rineau (GeometryFactory), 09/14/2009
- Re: [cgal-discuss] CGAL_triangulation_precondition, Vitaliy, 09/14/2009
- [cgal-discuss] Moving a point in a Delaunay triangulation, dmyan, 09/13/2009
Archive powered by MHonArc 2.6.16.