Subject: CGAL users discussion list
List archive
- From: Manuel Caroli <>
- To:
- Subject: Re: [cgal-discuss] Wrong mirror vertex
- Date: Wed, 29 Jul 2009 11:00:31 +0200
Dear 400555,
400555 wrote:
Hello !Note that as soon as you change point coordinates or do flips manually the triangulation is most probably not Delaunay anymore. So there are no guarantees anymore about the behavior of e.g. the insert function.
Could you please help with my problem.
I make Delaunay_2 for set of points.
Then, on each iteration I change positions of point and accordingly to my criteria do Flip of some edges (only for finite).
(and I checked that new edge obtained after flipping also stand finite)
no, because I don't know what your code is doing. You might want to use the is_valid() functions from Triangulation_2 and Triangulation_data_structure_2 to check whether you still have a valid triangulation after each of your modifications.
After somewhile I find that for one edge vertex(i) and vertex which is mirror_vertex to it - become the same.
Do you know how is it possible?
Your code below does not modify the triangulation. I suppose the error occurs already during modification. See above.
There is a part of my code below. ov1 becomes equal to ov2. Someone knows why?
I'm sorry I don't understand this one. What do you mean by the square perimeter of a vertex?
Can the fact that I have also square perimeter of vertices (which are lie on the line) be affected to this problem?
About your question before about edge with info: As edges are not represented explicitly there is no possibility to store some info with it. However you could store the info in one of the incident faces, then you can look it up in constant time.
best
Manuel
for (Finite_edges_iterator2 eit = T.finite_edges_begin(); eit != T.finite_edges_end(); ++eit)
{
Edge2 ed = *eit;
Face_handle2 f = ed.first;
int i = ed.second;
Vertex_handle2 vh1 = f->vertex(T.cw(i));
Vertex_handle2 vh2 = f->vertex(T.ccw(i));
if ((f->vertex(i) != T.infinite_vertex()) && (f->mirror_vertex(i) != T.infinite_vertex()))
{
ov1 = f->vertex(i)->info();
ov2 = T.mirror_vertex(f, i)->info();
- - - - - -
}
- - - - - }
Thank you.
- [cgal-discuss] Wrong mirror vertex, 400555, 07/28/2009
- Re: [cgal-discuss] Wrong mirror vertex, Manuel Caroli, 07/29/2009
- Re: [cgal-discuss] Wrong mirror vertex, 400555, 07/29/2009
- Re: [cgal-discuss] Wrong mirror vertex, Manuel Caroli, 07/29/2009
- Re: [cgal-discuss] Wrong mirror vertex, 400555, 07/29/2009
- Re: [cgal-discuss] Wrong mirror vertex, Manuel Caroli, 07/29/2009
- Re: [cgal-discuss] Wrong mirror vertex, Manuel Caroli, 07/29/2009
- Re: [cgal-discuss] Wrong mirror vertex, Olivier Devillers, 07/29/2009
- Re: [cgal-discuss] Wrong mirror vertex, 400555, 07/31/2009
- Re: [cgal-discuss] Wrong mirror vertex, Manuel Caroli, 07/29/2009
- Re: [cgal-discuss] Wrong mirror vertex, 400555, 07/29/2009
- Re: [cgal-discuss] Wrong mirror vertex, Manuel Caroli, 07/29/2009
- Re: [cgal-discuss] Wrong mirror vertex, 400555, 07/29/2009
- Re: [cgal-discuss] Wrong mirror vertex, Manuel Caroli, 07/29/2009
Archive powered by MHonArc 2.6.16.