- fixed crash on close when worker is running
- refresh percentage in the UI by requesting extra frames
- get rid of extra m_is_worker_running variable
it does not rely on the usual GLVolume rendering. GLCanvas3D::toggle_model_object_visibility
was extended to hide a single volume. Rendering the model and wireframe uses the same
vertex buffer, which is now used through GLModel class. GLGizmoRenderTransparent class
should no longer be needed. GLCanvas3D::reload_scene calls replaced with request_rerender.
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:102:46: error: control reaches end of non-void function [-Werror=return-type]
src\slic3r\GUI\Gizmos\GLGizmoSimplify.cpp(103) : warning C4715: '<lambda_8434c3588ffcd21c397d2cfeb10266a5>::operator()': not all control paths return a value
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:433:11: warning: unused variable 'checkbox_width' [-Wunused-variable]
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:227:27: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:245:27: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.
Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.
Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.
Reworked QHull integration into TriangleMesh:
1) Face normals were not right.
2) Indexed triangle set is newly emitted instead of duplicating
vertices for each face.
Fixed cut_mesh(): Orient the triangulated faces correctly.
StatusBar class calls are commented out and replaced with notifications.
SlicicingProgress notification shows progress of slicing, ProgressIndicator notification handles other progress information, like arrange objects etc.
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:109:23: warning: comparison of integer expressions of different signedness: 'std::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:132:17: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:171:17: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
Severity Code Description Project File Line Suppression State
Warning C26451 Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). libslic3r_gui C:\GIT\slic3r\src\slic3r\GUI\Gizmos\GLGizmoSimplify.cpp 143