* ObjectList & Selection: Show Connectors in the Scene, when CutConnectors Item is selected
* ObjectList: refactoring: extract the adding of volumes to the add_volumes_to_object_in_list()
* If some connector is selected on 3dScene -> select all connectors of this object
* GLGizmoScale3D : check if grabber is enabled, when do rendering
+ GLGizmoCut: refactoring : split render_cut_plane_grabbers to several functions
1) Nodes allocated using std::deque, not as std::set of pointers for
less memory allocator pressure.
2) Parents changed to parent indices, so that one may allocate side
by side data for nodes addressed by these indices. Thus now elemens
are being marked as deleted and the whole node database is being
compacted in one shot instead of deleting an element from std::set.
3) Removed SUPPORT_TREE_ONLY_GRACIOUS_TO_MODEL for simplicity, it was
never used.
4) Fixed crash when slicing multiple objects with three supports.
Reworked the Archimedean Chords, Hilbert and Octagram Spiral infill
generators to
1) Generate solid infill as not aligned with other solid infill layers.
This may surprise some users as the pattern over multiple islands
will be different, maybe not that nice. This may change in the future.
2) Sparse infill is always aligned and generated over the whole object,
however newly the generated lines are trimmed with a snug bounding box
while being generated.
3) For Archimedean chords the accuracy was not applied correctly, leading
to higher accuracy for dense infill and lower accuracy for sparse infill.
slicing process:
1) "C" locales are always enforced.
2) OSX Quality of Service level is set to make sure the slicing
runs on fat cores on Apple Silicon if some fat cores are available.
* Suppress to split cut objects
* ObjectList:
* Use another icons to mark the cut objects and connectors
* For the cut object show parts, which are not connectors
* Set different colors for the Plugs and Dowels
* CutGizmo:
* Invalidate CutGizmo after changes in ObjectList or perform a cut
* CupPlane in Connectors mode: Unselect selection, when click on empty space
* Connectors mode: Fixed performance issue
1) Reworked the merging code to use an AABB tree for better locality.
The old code sorted lexicographically, the new code splits bounding
boxes by the longest axis.
2) Refactored to a functional style with better const correctness.
3) Reduced memory allocation pressure by replacing std::set with
vectors, in place merging etc.