fixed KD tree neighbour search, finished refactoring of raycasts,
substantially improved performance of seam placement - seams
are now precomputed and their indexes stored such that place_seam does almost nothing.
Replacing boost::filesystem::fstream with boost::nowide::fstream
variants with the unfortunate cost of string path conversion on Windows
from 16 bits to UTF8 and back to 16 bits.
Unfortunately we cannot use std::filesystem yet as it is missing
on older MACs and because the interface is crooked minefield on Windows
see https://github.com/microsoft/STL/issues/909
SPE-1216
The removed fix for issue 2209 is not needed anymore as the backend (arrange + libnest) takes care of such objects
- Offset is now done with libslic3r offset() wrapper (no expception thrown)
- Zero area objects are discarded in libnest
* Added check of the visibility for selected presets when Configuration is loaded from SLA archive or from the G-code.
* SLAImportDialog:
* MSW specific: added dark mode
* Center on parent
* Suppress to delete/add a SolidPart/NegativeVolume from/for objects which are marked as "is cut"
* Suppress to delete Instances which are marked as "is cut"
* Allow delete an object which is marked as "is cut", but show warning message about break of the "cut consistency".
And if this deletion was performed, the all related objects will be unmarked.
* m_connectors_cnt is added into CutObjectBase class to correct synchronization of a connectors count between related objects
- do not process non-existing file, report as error
- cancelling the dialog is not an error, but a check in finalize() is needed
- fixed some localization issues (serious btw: the ToStdString returned "" in one of the cases, which would in turn ignore the error and proceed as if if did not happen)
- reset err in reset(), just to be sure
Update searcher only before open one of next dialogs : SearchDialog, UnsavedChangesDialog or DiffPresetDialog.
But only Search dialog respects to the mode of PrusaSlicer
+ Added CutObjectBase class which contains cut attributes for object
+ ObjectList and ManipulationPanel :
* Disable all ManipulationEditors for solid/negative volumes of cut object
* Disable Scale/Size ManipulationEditors for objects/instances of objects which are CutParts of initial object
+ Scale/Rotation/Move gizmos are disabled for solid/negative volumes of cut object
+ Select whole CutParts of initial object when ScaleGizmo is active