mirror of https://github.com/vitalif/openscad
print only a single warning about intersecting vertices at dxf tessellation
, instead of spamming it over and over. also mention that it might be due to intersecting lines, not just duplicate vertices (duplicate vertices being perhaps generated by cgal's tessellator when it deals with intersecting lines)felipesanches-svg
parent
ef51ee8a7f
commit
f16d3a65a1
|
@ -109,6 +109,7 @@ void dxf_tesselate(PolySet *ps, DxfData &dxf, double rot, bool up, bool /* do_tr
|
|||
Grid2d<point_info_t> point_info(GRID_FINE);
|
||||
boost::unordered_map<edge_t,int> edge_to_triangle;
|
||||
boost::unordered_map<edge_t,int> edge_to_path;
|
||||
int duplicate_vertices = 0;
|
||||
|
||||
CGAL::Failure_behaviour old_behaviour = CGAL::set_error_behaviour(CGAL::THROW_EXCEPTION);
|
||||
try {
|
||||
|
@ -131,7 +132,7 @@ void dxf_tesselate(PolySet *ps, DxfData &dxf, double rot, bool up, bool /* do_tr
|
|||
// ..maybe it would be better to assert here. But this would
|
||||
// break compatibility with the glu tesselator that handled such
|
||||
// cases just fine.
|
||||
PRINT( "WARNING: Duplicate vertex found during Tessellation. Render may be incorrect." );
|
||||
duplicate_vertices++;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -165,6 +166,9 @@ void dxf_tesselate(PolySet *ps, DxfData &dxf, double rot, bool up, bool /* do_tr
|
|||
}
|
||||
}
|
||||
|
||||
if ( duplicate_vertices > 0 )
|
||||
PRINTB( "WARNING: duplicate vertices and/or intersecting lines found during DXF Tessellation. Render may be incorrect.", duplicate_vertices );
|
||||
|
||||
}
|
||||
catch (CGAL::Assertion_exception e) {
|
||||
PRINTB("CGAL error in dxf_tesselate(): %s", e.what());
|
||||
|
|
Loading…
Reference in New Issue