Rewrote .PRUSA file parser from wxWidgets zip to miniz.

Added tracing for mesh repair.
This commit is contained in:
bubnikv 2018-09-25 14:30:57 +02:00
parent 85bc3af88a
commit 8945763221
5 changed files with 327 additions and 353 deletions

View file

@ -134,25 +134,31 @@ void TriangleMesh::repair()
// remove_unconnected
if (stl.stats.connected_facets_3_edge < stl.stats.number_of_facets) {
BOOST_LOG_TRIVIAL(trace) << "\tstl_remove_unconnected_facets";
stl_remove_unconnected_facets(&stl);
}
// fill_holes
if (stl.stats.connected_facets_3_edge < stl.stats.number_of_facets) {
BOOST_LOG_TRIVIAL(trace) << "\tstl_fill_holes";
stl_fill_holes(&stl);
stl_clear_error(&stl);
}
// normal_directions
BOOST_LOG_TRIVIAL(trace) << "\tstl_fix_normal_directions";
stl_fix_normal_directions(&stl);
// normal_values
BOOST_LOG_TRIVIAL(trace) << "\tstl_fix_normal_values";
stl_fix_normal_values(&stl);
// always calculate the volume and reverse all normals if volume is negative
BOOST_LOG_TRIVIAL(trace) << "\tstl_calculate_volume";
stl_calculate_volume(&stl);
// neighbors
BOOST_LOG_TRIVIAL(trace) << "\tstl_verify_neighbors";
stl_verify_neighbors(&stl);
this->repaired = true;