"query-printer-models" and "query-print-filament-profiles" return presets which are separated to "user" and regular print/material/printer profiles
+ Removed print of state information
* "query-printer-models" is extended to expose printer presets for each printer variant
* "query-printer-profiles" is currently commented as not-used
* "query-print-filament-profiles" is extended to expose "is_user_profile" state for each print/material profiles
+ Removed includes related to GUI.
+ Removed a code to loaded all known vendors.
Use just native functions (without wxWidgets)
Note: Most of code is extracted from wxWidgest (wxStandardPaths and wxFileName classes implementation) to avoid use of wxString
Bug was caused by fa86a3d0, when instance of searcher was moved to GuiApp
and as result wasn't recreate on UI recreation.
Searcher instance is in MainFrame now.
The crash was introduced in 040a846, which completely threw away handling of the return value
of the importer.load_model_from_file function and replaced it with weaker condition. The purpose
of that change was to solve #8401 (missing error message when loading different invalid 3MF).
This commit reverts that change (and reintroduces #8401). Handling of 3MF loading errors
should be inside the importer.load_model_from_file function, where the check should be
added later.
Previous algorithms assume that they can get an invalid Voronoi diagram. Because of that, during the multi-material segmentation, a copy of the Voronoi diagram was created, and there were several attempts to fix missing vertices and edges. But as it shows, this wasn't a good enough approach and sometimes led to several issues like bleeding layers.
After generalization, our approach for detection and repairs of invalid Voronoi diagrams from Arachne, we could assume that multi-material segmentation gets non-invalid Voronoi diagrams.
With this assumption, we reimplement multi-materials segmentation to work directly on the Voronoi diagram. That should make multi-material segmentation more stable.
So, this should fix several issues like bleeding layers. Also, memory consumption should decrease by a lot. Also, there should be some speedup of multi-materials segmentation.
There are several ExPolygons with very thin lines and holes formed by very close (1-5nm) vertices that are on the edge of our resolution. Those thin lines and holes are both unprintable and cause the Voronoi diagram to be invalid.
So, we filtered out such thin lines and holes and tried to compute the Voronoi diagram again.