Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] Problem with Ccb_halfedge_circulator for Voronoi

Subject: CGAL users discussion list

List archive

[cgal-discuss] Problem with Ccb_halfedge_circulator for Voronoi


Chronological Thread 
  • From: cocorico <>
  • To:
  • Subject: [cgal-discuss] Problem with Ccb_halfedge_circulator for Voronoi
  • Date: Tue, 20 Jul 2010 08:42:38 -0700 (PDT)


I am trying to construct an counterclockwise edge iterator over the
boundaries of each face in my voronoi diagram. I do this by the following
code; note that vd is a Voronoi_diagram_2 object:


for (Face_iterator fit = vd.faces_begin(); fit != vd.faces_end(); ++fit) {
Ccb_halfedge_circulator ccb_start = fit -> outer_ccb();
Ccb_halfedge_circulator hc = ccb_start;
do {
...
++hc;
} while (hc != ccb_start)
}

Strangely, this code runs smoothly compiled under Debug mode of XCode, but
when I compile under Release mode, I get an error at the boldfaced line
above, which terminates my program with a SIGABRT. Using the debug tool in
XCode, I found that ultimately what is causing the SIGABRT is a precondition
fail in the file Triangulation_ds_face_base_2.h:

template <class TDS>
inline
typename Triangulation_ds_face_base_2<TDS>::Vertex_handle
Triangulation_ds_face_base_2<TDS>::
vertex(int i) const
{
CGAL_triangulation_precondition( i == 0 || i == 1 || i == 2);
return V[i];
}

I do not understand why this precondition fails when I compile my code in
Release mode, and why it does not fail when I compile it in Debug mode.

Any advice would be greatly appreciated!
--
View this message in context:
http://cgal-discuss.949826.n4.nabble.com/Problem-with-Ccb-halfedge-circulator-for-Voronoi-tp2295721p2295721.html
Sent from the cgal-discuss mailing list archive at Nabble.com.



Archive powered by MHonArc 2.6.16.

Top of Page