over excessively long tree control items, stealing the window focus.
In case the Tab was reparented from the MainFrame to the floating dialog,
the tooltip created by the Tree Control before reparenting is not reparented,
but it still points to the MainFrame. If the tooltip pops up, the MainFrame
is incorrectly focussed, stealing focus from the floating dialog.
The workaround is to delete the tooltip control.
Vojtech tried to reparent the tooltip control, but it did not work,
and if the Tab was later reparented back to MainFrame, the tooltip was displayed
at an incorrect position, therefore it is safer to just discard the tooltip control
altogether.
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.
If an object indicates a valid timestamp, then the timestamp
is relied upon to not serialize the object data if the timestamp
of the same object on the undo/redo stack matches.
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.
Renamed login/password/authorization_type to printhost_user/printhost_password/printhost_authorization_type.
Added initialization of physical printer preset with default values.
boost::polygon Voronoi diagram generator by Vojtech.
Fixed Perl bindings on Windows after some "improvement" of the Windows 10
SDK headers, which fail if included from a C++ code using the
extern "C"
clause. Namely, the Windows 10 SDK include for sockets introduces C++ macros
if a "compiled with C++" symbol is provided even if included through
exetrn "C".
The offset curve extractor is already quite usable,
though singular cases are still not covered yet
when the offset curve intersects or nearly intersects
a Voronoi vertex.
Removal of the PRINTF_ZU "%zu" Visual Studio printf compatibility macro.
Fixes of a contours self intersection test for collinear segments.
SVG exporter now exports white background, so that the GNOME Eye viewer is usable.
Now the algorithm is very different from the OpenVoronoi implementation
and hopefully it is now correct (save numerical issues, which will be
a big PITA).
print_bed_min, print_bed_max, print_bed_size
calculated from a bounding box of bed_shape vector of points.
Also added first_layer_print_size as a size of a first layer print
bounding box.
BoundingBox constructor will no more throw for empty vector of points.
GMP allowed for Vojtech's fork of boost::polygon Voronoi implementation.
Added libslic3r tests for boost::polygon Voronoi. All Voronoi issues
ever reported on the Internet are captured by the tests. Two issues
reported (the two test cases) are real issues which may influence
PrusaSlicer negatively, namely
https://github.com/boostorg/polygon/issues/43
Calculate the initial path length and set the initial pheromone level
accordingly.
Implemented a stopping criterion to ant colony optimization.
Fixed some compilation warnings.
1) fts_fuzzy_match has been extended to support wchar_t for a char
type and uint16_t for an index type for the match indices.
2) fts_fuzzy_match has been extended to place a proper stopper character
into the match buffer.
3) Slicer integration now uses the fuzzy match indices for highlighting.
4) Slicer integration now correctly highlights the matched word.
5) Slicer search dialog now sorts based on match AND category.
Further modifications are planned:
1) Matching in local language vs. English: Just show the English variant
if matched in English. Don't mix the two together.
2) Matching the group or category: Continue matching the label.
3) For matches with equal match quality and category sort alphanumerically.