Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] moving point in ConstrainedTriangulation

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] moving point in ConstrainedTriangulation


Chronological Thread 
  • From: pierre <>
  • To:
  • Subject: Re: [cgal-discuss] moving point in ConstrainedTriangulation
  • Date: Thu, 8 Apr 2010 15:43:12 +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=QjbMzl7eMD5dWhz4Alq0hI4V3bSw6pN/xYLrOlk5CgnKxKiVR1n19FrN5vJjeTENfj w4HgLp5I0VBENXCfeF6tIZqHUUe31NnNAWXuf3ki7NRYIbY2gGVMXKINtrqNwQ4Je58y D3m4xVdAqWDayyw6G9pCA4aj/RmZBukGnax54=


Daniel, Pedro, thanks a lot for your help.
I was looking in the source of the CGAL-3.3 version, downloaded the CGAL-3.5 tarball and indeed the move function is still there. :)
Will try that out. Thanks again. :)
   Pierre.

2010/4/8 Pedro Machado Manhães de Castro <>
Pierre, the CGAL team (related with the Triangulation_2 package) decided that it would be better to remove from CGAL this function for now, since it was not documented.
There is some possibility however, that in CGAL 3.7 such function will reapear (and documented !).
If you want to have a look at CGAL 3.5, if I remember well, the undocumented move function for Delaunay_triangulation_2 wasn't purged yet there.

Best regards,
Pedro


On Thu, Apr 8, 2010 at 2:20 PM, pierre <> wrote:
Hello Daniel,

Thanks for your help but am a bit puzzled as I just cannot find such a function.
Call me stupid but I just don't find it. :/
I am looking for it through the Triangulation_2.h and Triangulation_data_structure_2.h headers but without much success...
I ran a 'grep "move" include/CGAL/Triangulation_* -n -r' command and directly looked into the Triangulation_2.h file.
The closest function I found is called move_point (vhandle, point), but it is defined in the Triangulation_hierarchy_3.h header only. :(

Would you mind being a tad more explicit? as this move function is definitely tempting. :)
Thanks in advance.
   Pierre.



On Thu, Apr 8, 2010 at 10:56 AM, Daniel Duque <> wrote:
Hello,

You may consider the move function. It should be inherited from
Triangulation_2.

For some reason, this function is not documented, but it's right there in the
code. If you have a look, you can see that the process is indeed not that
simple ( include/CGAL/Triangulation_2.h )

BTW, the fact that move is not documented anywhere is a bit unsettling for me,
since I've been using it quite a lot (actually the Delaunay move(), which is
redefined, not just inherited). In my case, it is because I am using a loop
over vertices, and moving them. An insert + removal would modify the loop
iterator.

Best,

Daniel



On Wednesday 07 April 2010 16:42:47 pierre wrote:
> Well, sorry for being so confusing (and for the typo in your name).
>
> To make things simple, I must keep my Vertex_handles untouched at all cost.
>
> Actually, all I need is to find the set of proper tests for detecting and
> preventing any combinatorial changes from happening if I move my vertex so
> that I can backtrack.
> But I just cannot seem to have those tests right. I must forget something
> ... :S
>
> On Wed, Apr 7, 2010 at 4:26 PM, pierre <> wrote:
> > Hi Sebastian,
> >
> > Actually I need to keep my Vertex_handles intact.
> >
> > This algorithm is basically some kind of a greedy triangulation growing
> > thing (with a lot of computations going around)
> > and I need to keep track of the recently-added vertices so that I can
> > process them later on. I typically store the to-be-processed
> > Vertex_handles in a priority_queue from which I pop the vertex to
> > consider.
> >
> >
> > Am afraid that using remove(V) and insert(P) will generate another handle
> > and compromise the validity of the pointers stored in my
> > queue.
> > But thanks for your quick reply anyway. :)
> >
> >    Pierre.
> >
> >
> >
> > On Wed, Apr 7, 2010 at 4:20 PM, Sebastien Loriot (GeometryFactory) <
> >
> > sloriot.ml@gmail.com> wrote:
> >> Hello,
> >>
> >> have you tried to use functions
> >> remove(Vertex_handle v) and insert(Point p)
> >> to mimic the move? is it to slow?
> >>
> >> S.
> >>
> >> piR wrote:
> >>> Hi everyone,
> >>>
> >>> This is I guess a pretty stupid question but I just cannot seem to make
> >>> it
> >>> work properly.
> >>> I need to move a point within a triangulation. For that aim, I use the
> >>> Vertex_handle->setpoint(Point) function a bit
> >>> recklessly.
> >>> Usually the new positions are almost the same as the previous ones (it
> >>> is a
> >>> relaxation step), so it seems to work fine.
> >>> But of course, since I do not properly check whether the predicates are
> >>> still verified after the move, there are cases where my triangulation
> >>> gets
> >>> corrupted.
> >>>
> >>> Would you mind helping me doing this properly?
> >>> I tried to backtrack according to the result of the is_valid()
> >>> functions, but to no avail.
> >>> I swear I looked around, and only found a solution for a more
> >>> restrictive Delaunay triangulation somewhere.
> >>> Am a total CGAL newbie and this needs to work asap.
> >>> MANY THANKS!
> >>
> >> --
> >> You are currently subscribed to cgal-discuss.
> >> To unsubscribe or access the archives, go to
> >> https://lists-sop.inria.fr/wws/info/cgal-discuss

--
http://debin.etsin.upm.es/~daniel

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://lists-sop.inria.fr/wws/info/cgal-discuss







Archive powered by MHonArc 2.6.16.

Top of Page