Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] Splitting Nefs

Subject: CGAL users discussion list

List archive

[cgal-discuss] Splitting Nefs


Chronological Thread 
  • From: Noel Warren <>
  • To:
  • Subject: [cgal-discuss] Splitting Nefs
  • Date: Thu, 7 Mar 2013 13:13:38 +0100

I have a function that splits Nefs into smaller nefs from the shells of the volumes.  I am doing it using an undocumented Nef constructor.  In the majority of cases it works a charm but ocasionally it fails.  I have attatched a nef that fails (infact it only has one volume so should return an Array of length 1 containing a Nef) when trying to split.

Here is a code snippet

vector<Nef_polyhedron_3> nefs;
Nef_polyhedron_3::Volume_const_iterator vi = ++N.volumes_begin();
Nef_polyhedron_3::Shell_entry_const_iterator si;
CGAL_forall_volumes(vi,N) {
if(vi->mark()) {
Nef_polyhedron_3::Shell_entry_const_iterator si;
CGAL_forall_shells_of(si, vi) {
Nef_polyhedron_3::SFace_const_handle sfch(si);
Nef_polyhedron_3 O(N,sfch);
nefs.push_back(O);
}  
}
}

Here is the error...

CGAL ERROR: assertion violation! (RuntimeError)
Expr: itl != it->second.end()
File: /usr/local/include/CGAL/Nef_3/SNC_external_structure.h
Line: 1102

If I shouldn't be using this Nef constructor, how should I go about "splitting" a nef into smaller ones.  Thanks in advance for your time.

Attachment: e_split.nef
Description: Binary data




Archive powered by MHonArc 2.6.18.

Top of Page