Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] CGAL::intersection on Polygon_2 needs exact constructs kernel?

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] CGAL::intersection on Polygon_2 needs exact constructs kernel?


Chronological Thread 
  • From: Efi Fogel <>
  • To:
  • Subject: Re: [cgal-discuss] CGAL::intersection on Polygon_2 needs exact constructs kernel?
  • Date: Sat, 13 Aug 2016 10:37:53 +0300
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:YOaWPRLjw74lRxlU39mcpTZWNBhigK39O0sv0rFitYgUL/nxwZ3uMQTl6Ol3ixeRBMOAuqsC0rOd6vq5ESxYuNDa4ShEKMQNHzY+yuwu1zQ6B8CEDUCpZNXLVAcdWPp4aVl+4nugOlJUEsutL3fbo3m18CJAUk6nbVk9GO35F8bogtit0KjqotuIMlwO3WP2OOkrZFXu9EOK55FQ2dMjYo8KiTLx6kNSfOpXwW46bXmypD3bovmKwZh47i5LsOgg/cMTGY/zfqA/UKAKRG9+azN9t4XXskzIQgKLo3cdSW4LiQFgAg7f7Ri8UI2inDH9s79Q1ijSE8r5QLR8DTms7qlsRxLsoCgCPj89tmrQj5oj3+pgvBu9qkknkMbva4aPOa8mcw==

It's not.
An intersection requires the construction of possibly a new point.

   ____  _        ____             _
  /_____/_) o    /__________  __  //
 (____ (   (    (    (_/ (_/-(-'_(/
                         _/



On Fri, Aug 12, 2016 at 4:58 PM, Pol Monsó Purtí <> wrote:
I've been trying to retrieve the intersection of two polygons.

I always get pre_condition exceptions which I can't seem to resolve and I'm starting to wonder wether it's not possible to make polygon_2 intersections without the exact constructs.

Fiddleing I've tried making two simple polygons as well, they too provoke exceptions, thus why I'm starting to suspect the exact constructs are necessary.

Attached the ascii polygon's points.

Using the original ones I get the exception:
precondition violation!

_expression_ : (m_traits.compare_y_at_x_2_object()(p, cv1) == EQUAL) && (m_traits.compare_y_at_x_2_object()(p, cv2) == EQUAL)

File : C:\Users\Pol\codeheli\portho\libs\cgal\Arrangement_on_surface_2\include\CGAL/Arr_segment_traits_2.h

Line : 580


The artificial ones are:
Polytype bbox1;
989703.429, 6583768.645
976393.049, 6583768.645
976493.049, 6587550.584
989603.429, 6587550.584
976393.049, 6587650.584
989703.429, 6587650.584

Polytype bbox2;
985000, 6584000
980000, 6584000
980000, 6587000
985000, 6587000


Using the fake ones I get a warning and an exception:
CGAL warning: check violation!

_expression_ : valid_orientation

File : C:\Users\Pol\codeheli\portho\libs\cgal\Boolean_set_operations_2\include\CGAL/Boolean_set_operations_2/Gps_polygon_validation.h

Line : 312


CGAL error: precondition violation!

_expression_ : is_valid_unknown_polygon(p, t)

File : C:\Users\Pol\codeheli\portho\libs\cgal\Boolean_set_operations_2\include\CGAL/General_polygon_set_on_surface_2.h

Line : 45





Archive powered by MHonArc 2.6.18.

Top of Page