mirror of https://github.com/CGAL/cgal
WIP
This commit is contained in:
parent
a994933ccb
commit
07b04366a0
|
|
@ -539,12 +539,6 @@ visit_shell_objects(typename Traits::SFace_handle f, Visitor& V) const
|
||||||
if ((f->incident_volume() == tf->incident_volume()) && Done[tf]) {
|
if ((f->incident_volume() == tf->incident_volume()) && Done[tf]) {
|
||||||
continue; // for example when we have to do with the unbounded volume and a surface with boundaries
|
continue; // for example when we have to do with the unbounded volume and a surface with boundaries
|
||||||
}
|
}
|
||||||
Volume_const_iterator unbounded = volumes_begin();
|
|
||||||
Volume_const_iterator fit = f->incident_volume();
|
|
||||||
Volume_const_iterator tfit = tf->incident_volume();
|
|
||||||
if ((fit == unbounded) && (tfit != unbounded)) {
|
|
||||||
continue; // because we will later report it from the bounded side
|
|
||||||
}
|
|
||||||
FacetCandidates.push_back(f); Done[f] = true;
|
FacetCandidates.push_back(f); Done[f] = true;
|
||||||
}
|
}
|
||||||
} else if (fc.is_svertex() ) {
|
} else if (fc.is_svertex() ) {
|
||||||
|
|
|
||||||
|
|
@ -359,14 +359,28 @@ void convert_nef_polyhedron_to_polygon_soup(const Nef_polyhedron& nef,
|
||||||
CGAL_assertion ( vol_it != vol_end );
|
CGAL_assertion ( vol_it != vol_end );
|
||||||
|
|
||||||
Converter to_output;
|
Converter to_output;
|
||||||
|
bool handling_unbounded_volume = true;
|
||||||
|
|
||||||
|
auto shell_is_closed = [](typename Nef_polyhedron::SFace_const_handle sfh)
|
||||||
|
{
|
||||||
|
typename Nef_polyhedron::Halffacet_handle f = sfh;
|
||||||
|
return f->incident_volume()!=f->twin()->incident_volume();
|
||||||
|
};
|
||||||
|
|
||||||
for (;vol_it!=vol_end;++vol_it)
|
for (;vol_it!=vol_end;++vol_it)
|
||||||
|
{
|
||||||
for(auto sit = vol_it->shells_begin(); sit != vol_it->shells_end(); ++sit)
|
for(auto sit = vol_it->shells_begin(); sit != vol_it->shells_end(); ++sit)
|
||||||
|
{
|
||||||
|
if ( (handling_unbounded_volume || sit!=vol_it->shells_begin()) && shell_is_closed(sit)) continue;
|
||||||
nef_to_pm::collect_polygon_mesh_info(points,
|
nef_to_pm::collect_polygon_mesh_info(points,
|
||||||
polygons,
|
polygons,
|
||||||
nef,
|
nef,
|
||||||
sit,
|
sit,
|
||||||
to_output,
|
to_output,
|
||||||
triangulate_all_faces);
|
triangulate_all_faces);
|
||||||
|
}
|
||||||
|
handling_unbounded_volume = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class Nef_polyhedron, class Polygon_mesh>
|
template <class Nef_polyhedron, class Polygon_mesh>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue