* fix the seam object
* fix painting seam that will jump on nearest for no good reason
* change hidden/near/nearer to cost with 2 boxes for setting the costs.
fix preferences
to help with detecting "not changed" event when taking
Undo/Redo snapshot or synchronizing with the back-end.
Converted layer height profile and supports / seam painted areas
to the same timestamp controlled structure.
1) Fixed a wrong offset when extracting infill lines from the octree.
2) Added a variant for testing triangle in a bounding sphere
when buildind the octree. Currently not used as the box test
is more tight.
3) "Bridging infill" regions are now triangulated and used to densify
the octree as well to support the bridging infill correctly.
1) Octree is built directly from the triangle mesh by checking
overlap of a triangle with an octree cell. This shall produce
a tighter octree with less dense cells.
2) The same method is used for both the adaptive / support cubic infill,
where for the support cubic infill the non-overhang triangles are
ignored.
The AABB tree is no more used.
3) Optimized extraction of continuous infill lines in O(1) instead of O(n^2)
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
also the rectilinear2.cpp rework that go along
use of monotonous in ironing
use of monotonous instead of rectilinear of "filled" in top & bottom
reduce gap fill area from rectilinearWGapFill to the area with no overlap
fix flatten(): don't put everything in a no_sort collection but correctly recreate the hierarchy of no_sort, sort, no_sort of collections.
- better shrink (do not do all polygons in one go but per expolygon), now can be used for growth & shrink
- with multi-region, apply growths even if no hole growth
- stop pre-clip growth, it's a mess.
Next step is to do all that in one pass to avoid some problem with big growth/shrink