Reworked handling of approximate / snug bounding boxes
at Model / ModelObject / PrintObject
Further optimized, so that the bounding boxes are not recalculated
unnecesarilly.
at Model / ModelObject / PrintObject
Fixes#9467#9519#9646
Also fixed variable layer height editing for case such as mentioned
in the github issues above.
Also likely fixed some of the sinking objects issues.
* Disable "Add/Edit connectors" button then cut to parts
* Fixed flip_cut_plane()
* Fixed cut by Line, when draw line over the cut plane
* Fixed apply of the transformations, when cut to parts
Cut improvements:
* Process "Ctrl"
* Change color of the cut plane when it's hovered
* Don't apply Cut information for result object(s), if cut doesn't have any connector or is cut to parts
(partially related to #9633 - Add option to Invalidate Cut Info at the time of cutting)
+ Rework CutDialog
+ Added "Cut to" section (Idea from #9564[Cut: Keep results as parts of current idea] was used, but there is other implementation)
+ Fix for #9657 - Inconvenient gizma, blocks the view of the cut of small parts
+ Add functionality "Flip cut plane" = Fix for #9632 - Adding connectors to either split cut part
+ ImGuiWrapper: added tooltip for button
When try to delete something from the cut object, than not just inform the users about an impossibility of this action,
but allow them to invalidate a cut information or delete all connectors from related objects, but leave the cut info.
* 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
* 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
CMake handling is different
STEP: Removed preprocessing stage
STEP: Small refactoring
STEP: Bigger refactoring
STEP: Changed naming on loaded object and volumes:
If the STEP contains exactly one named volume, the object and its first
volume will both have that name. Otherwise, filename w/o suffix is used
as object name and volumes are named using names from the STEP (if there
is none, untranslated "PartN" string is used).
STEP: Load the libraries dynamically on Win
wip