Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] Arrangement_on_surface_2: Precondition exception when removing edges

Subject: CGAL users discussion list

List archive

[cgal-discuss] Arrangement_on_surface_2: Precondition exception when removing edges


Chronological Thread 
  • From: Martin Mörth <>
  • To:
  • Subject: [cgal-discuss] Arrangement_on_surface_2: Precondition exception when removing edges
  • Date: Wed, 3 Feb 2010 07:29:44 -0800 (PST)


Hi Everybody!

I am having problems removing edges from an arrangement.

Is the assumption correct that I should be able to delete all the edges from
an arrangement in any order without violating any preconditions inside the
implementation of Arrangement_on_surface_2?

To put it another way: Are there any rules I have to follow when deleting
edges from an arrangement?

I isolated a (quite) simple test case where deleting edges from an
arrangement leads to a precondition violation exception.

I tried to compile and run the code in two different working environments
but the problem stays intact.

Windows XP / Visual Studio 8.0 / CGAL 3.5

] CGAL error: assertion violation!
] Expression : ic1 != NULL && ic1 == ic2
] File :
CGAL-3.5\include\CGAL/Arrangement_2/Arrangement_on_surface_2_impl.h
] Line : 4011
] Explanation:

Debian Linux / gcc version 3.4.4 / CGAL 3.5.1

] terminate called after throwing an instance of 'CGAL::Assertion_exception'
] what(): CGAL ERROR: assertion violation!
] Expr: ic1 != NULL && ic1 == ic2
] File:
/usr/local/include/CGAL/Arrangement_2/Arrangement_on_surface_2_impl.h
] Line: 4011
] Aborted

A self contained test case in a single c++ source file can be downloaded
from:
http://www.student.tugraz.at/mmoerth/cgal/arrproblem.cpp

Types used in the test:

] typedef CGAL::Exact_predicates_exact_constructions_kernel Kernel;
] typedef Kernel::Point_2 Point;
]
] typedef CGAL::Arr_segment_traits_2< Kernel > ArrangementTraits;
] typedef CGAL::Arrangement_2< ArrangementTraits > Arrangement;
] typedef ArrangementTraits::X_monotone_curve_2 ArrangementSegment;
]
] typedef Arrangement::Edge_iterator ArrangementEdgeIter;

If I can do anything to help sort this out just let me know.

Thanks for any help or comments on this issue!

Martin

--
View this message in context:
http://n4.nabble.com/Arrangement-on-surface-2-Precondition-exception-when-removing-edges-tp1461262p1461262.html
Sent from the cgal-discuss mailing list archive at Nabble.com.



Archive powered by MHonArc 2.6.16.

Top of Page