+ ObjectList: Fixed list of the types for "Change type" dialog, when object is cut.
+ CutGizmo:
* Warning line is extended for information about invalid connectors
* Fixed a crash on undo/Redo, when cutGizmo is active
* rewrite ObjectClipper::set_range_and_pos().
A calculation of a normal and distance is extracted from this function
and are used for a putting of connectors to the cut plane.
* Some replacement of items of the CutGizmo window
- direction and range of the clipping plane can be now set from the outside
- it is now able to show a contour of the cut (not yet ideal with multipart objects that overlap)
1. Do not show what's below the bed when a gizmo is open
2. Triangulate the cut so people don't see inside
3. If regular clipping plane is used, the cuts are mutually clipped by one another
4. Painting itself ignores the hidden part of the object
Drain holes reference position was saved slightly above the mesh to avoid problem when the hole is placed on flat or nearly flat surface
The depth of the hole was internally bigger than what the user has set to compensato for it
However, this leads to problem with scaling and makes reprojection of the holes on the mesh complicated
This commit changes the reference point to the point on the mesh and the extra elevation is handled when rendering and drilling the hole.
The change is reflected in 3MF drain holes versioning so that old 3MFs are loaded correctly.
Reprojection on the mesh after reload from disk/fix through netfabb has been enabled.
ObjectClipper tracks active mesh (incl. possible hollowing), remembers clipping plane position and can render the cut on demand
Hollowing gizmo uses the new infrastructure
The raycaster manages a MeshRaycaster object that the gizmo can ask to perform raycasts
If the hollowed mesh tracker is enabled and the hollowed mesh is newly calculated/invalidated, the raycaster automatically updates.