Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Hidden Vertices in Regular_Triangulation_3

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Hidden Vertices in Regular_Triangulation_3


Chronological Thread 
  • From:
  • To:
  • Subject: Re: [cgal-discuss] Hidden Vertices in Regular_Triangulation_3
  • Date: Fri, 16 Nov 2007 17:10:42 +0100

Joshua A Levine wrote:
Monique; Sylvain,

Thanks for the replies. I agree that dealing with hidden points is awkward, and treating them as vertices has its problem. Although I'm not so sure that it wouldn't be easier to create a dummy vertex that stores the point and give each cell a list of vertex handles which are hidden instead of actual points. It would seem to me that using the vertex structure to gain an extra level of indirection might be worth the sacrifice of having vertices that aren't really vertices.

I don't see how storing hidden points directly instead of dummy vertices that contain hidden point creates an extra level of indirection. I would have said the contrary, since dummy vertices are an additional level of indirection to access hidden points.

Sylvain's solution of storing additional information at the traits level instead of the vertex level is good. It solves how to store the information,

yes, it answers your first question

but you still run into problems on the insertion itself. When you insert a point, the return type leaves much to be desired. If the vertex is hidden, where is it hiding?

We might think of returning the cell hiding it, but if I remember well the return type of insert is Vertex_handle, so, it would have to be returned as an argument.

Harder: If the point I inserted hides current vertices, which ones?

The list of vertices that are hidden by the insertion of a given point is a concatenation of the list of points that are hidden by the created cells.
This list can be computed after the insertion if necessary: the hidden points of each of this cells are accessible as a Point_iterator, as presented in the documentation of RegularTriangulationCellBase_3.
Of course this iterator will give you both points that were already hidden before the insertion (by some other cells) and the points that are hidden by this insertion.

So now for every insertion extra work external to the triangulation has to be done to verify special cases for insertion. To not duplicate work, this means gathering all information before inserting and then do a fast insert where I pass the cell to insert within.

What do you need to remember from before the insertion? the poinst that were already hidden by cells that were deleted by the insertion?

In any case, I don't see how dummy vertices would help here.

Thanks again, I'll see what kind of solution I can come up with here and let you know if I find something that might be helpful.

ok, let us know if you have an idea about the ultimate interface for insert().
Maybe several insert() functions could be offered, to compute different informations depending on the user's needs.

Monique Teillaud



Archive powered by MHonArc 2.6.16.

Top of Page