Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] Refine edges assertion error

Subject: CGAL users discussion list

List archive

[cgal-discuss] Refine edges assertion error


Chronological Thread 
  • From: <>
  • To:
  • Subject: [cgal-discuss] Refine edges assertion error
  • Date: Fri, 29 Mar 2013 05:09:51 +0100 (CET)

Hi,

I have a 2D Constrained Triangulation (CT), and I define a bigger neighborhood
around this CT and I intend to mesh (CDT) this full domain excluding the
original sub-domain of CT. For example consider I have a circle of a smaller
radius as CT, and I define a bigger neighborhood by a circle of larger radius
centered on the CT's center. And I need to mesh this without changing the
faces inside original CT (smaller circle).

I get the following errors -

terminate called after throwing an instance of 'CGAL::Assertion_exception'
what(): CGAL ERROR: assertion violation!
Expr: orientation(fh->vertex(0)->point(), fh->vertex(1)->point(), fh-
>vertex(2)->point()) != COLLINEAR
File: /usr/local/include/CGAL/Mesh_2/Refine_faces.h
Line: 291


Or

terminate called after throwing an instance of 'CGAL::Assertion_exception'
what(): CGAL ERROR: assertion violation!
Expr: n == zone.fh
File: /usr/local/include/CGAL/Mesh_2/Refine_edges.h
Line: 438

Most of the time I get the latter one (Refine_edges.h)

I looked at the previous similar queries and one that is very similar is -
http://cgal-discuss.949826.n4.nabble.com/Precondition-Violation-in-Mesh-Refinement-2-Package-td1585855.html

I was thinking since its quite some time, so the version 4.0.2 should already
have some patch. How do I avoid this assertion ?

My approach is similar to the above query :
1. Extract all finite edges from CT and insert this as constraints for new
mesh - CDT.
2. In a requirement to keep CTs faces intact I put the barycenter of all faces
as seeds (marked as holes, with "false" parameter). These faces are incident
on /(share) constrained edges of CT. Boundary faces which are either at
infinity or have an unconstrained edge are ignored.
CGAL::refine_Delaunay_mesh_2(tcdt, list_of_seeds.begin(), list_of_seeds.end(),
Criteria(0.125, 1.414),false);


Thanks
R



Archive powered by MHonArc 2.6.18.

Top of Page