* Fixed update of a warning icon for multi-part object, when some part with errors was deleted
* Fixed a crash when selecting non-Object and non-Volume item (in get_mesh_errors_info() was missed check of the obj_idx)
+ Follow-up 1cc7b4ba97 - some code refactoring:
* fixed RepairedMeshErrors.merge()
* get_mesh_errors_count() renamed to get_repaired_errors_count()
* Check Unsaved changes (partially related to #5903)
+ Allow create new project when Plater is empty, but some of presets are modified (related to #5903)
+ When creating new project allow Keep or Discard modification from previous project
+ Added check of changes:
* before any load project (including DnD and "Load From Recent Projects")
* before preset updater
* when configuration is changing from the ConfigWizard
+ Dialog caption is added for each check
+ Create/Destroy ConfigWizard every time when it's called
* Check Unsaved changes: Next Improvements
+ For dialog "Save project changes" added a reason of saving and name of the current project (or "Untitled")
+ UnsavedChangesDialog: Headers are extended to better explain the reason
+ Preferences: Fixed tooltiops for "Always ask for unsaved changes when..."
+ Suppress "Remember my choice" checkbox for actions which are not frequently used
* Fixed behavior of the application when try to save changed project but "Cancel" button is selected in "Save file as..." dialog
* Check unsaved changes: Improvements for Config Wizard - Check all cases when presets should be updated
+ Fixed info line for Materials pages. Text of the info relates to the printer technology now
* Improved suggested name for a project when Application is closing
* Fixed Linux/OSX build warnings
+ Show 2 groups of errors: "Auto-repared" and "Remaning".
+ Use different icons for volumes with/without remaining errors
+ Fixed update of the ObjectList warnings icons after switch the color mode of a PrusaSlicer
+ Some code refactoring: Use same code for tooltips for "exclamation"-icon from an ObjectList and from a Sidebar->ObjectInfo
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.
stl_stats are newly only accessed by TriangleMesh::stats(),
most of the direct access to TriangleMesh::stl is gone with the exception
of parsing input files (3MF, AMF, obj).
Steps to repro:
1. Create some object with several parts.
2. Increase instances count.
3. Select some volume in ObjectList => all related volumes for each instance are selected in 3DScene (CORRECT)
4. Select last instance in ObjectList => all volumes (except one) of selected instance are selected in 3DScene (UNCORRECT).
ALL volumes of selected instance have to be selected in 3DScene
Fix: To avoid lost of some volumes in selection
check non-selected volumes only if 3DScene-selection mode wasn't changed
or there is no single selection in ObjectList
reset timestamp to 1. This led to a bug where e.g. deleting painted facets
through the respective item in object list followed by possible other actions
and undo restored the painted facets from the time when the project was loaded.
I'm not sure if there was any other situation where this problem manifested.
Refuse outgoing during simlification.
Refuse start simplification when other Gizmo is active
Fix close after preview to revert changes
Allow change model for simplification