* Wrong position of grabber is fixed
* OSX specific: ObjectList: Fixed update of the info items after cut
* Show info line, when Cut plane is invisible
+ Fixed non-Win build: added missed include
* Context menu: Suppress "Simplify model" for cut object
* CutGizmo:
* Disable gizmo for dowel object
* Invalidate cut plane position after update of Bounding box
* Suppress Frustum style for connectors with Dowel type
* Rectangle selection: Fixed processing on LeftUp
* Selection on Canvas: Suppress to move NEGATIVE_VOLUME if it's a connector
* Model:cut: Fixed a bug in add_cut_volume(). Cut info wasn't copied to the new volume
Model: fixed looks_like_imperial_units(). This function respects to cut status now.
To be detected as looks_like_imperial_units, all parts of cat object have to be looks_like_imperial_units().
ObjectList: Fixed update after adding/deleting of the modifiers for cut object
GUI_Factories: Fixed a place of the "Invalidate cut info" item in object menu
* Disable or delete some menu items, which are inappropriate for cut objects
* For cut objects added menu item "Invalidate cut info" to disconnect related cut parts of initial object
* If just one part is kept after cut performance, than don't apply a cut info for this object.
+ CutGizmo: Fixed selection of the mode
An object has connectors -> Connectors mode
An object doesn't has connectors -> CutPlane mode
* CutGizmo: Fixed a label scale
* Fixed deselection of selected connectors, when moving the camera
* Implemented update of the settings for selected connectors
* Connector selection: Ctrl shortcut is changed to Shift to compatibility of the selection/deselection with rectangle selection
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.