* "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.
1) Force OpenGL 3.2 as minimum required. If the graphic card does not support it, automatically switch to software renderer.
2) command line option: --opengl-version=X.Y -> allows to select core profile of version X.Y.
3) command line option: --opengl-compatibility -> allows to select compatibility profile of the highest OpenGL version supported by the graphic card.
4) command line option: --opengl-debug -> enable OpenGL debug output on card supporting OpenGL 4.3 or higher (output on console).
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.
and using it on AppConfig::save() to assert if save is called
from a worker thread.
The old assert was using thread names, which did not always work
on Windows.
Fixes#7839#9178#9370#9420
Custom URL Registration:
- Windows - writes to registers.
- Linux - desktop integration file.
- Macos - info.plist.in creates registration and is controlled only via app config.
Registration is first made in Config Wizard. Or is triggered from Preferences. Path to downloads folder can be set.
URL link starts new instance of PS which sends data to running instance via SingleInstance structures if exists.
New progress notification is introduced with pause and stop buttons.
Downloader writes downloaded data by chunks.
Support for zip files is introduced. Zip files can be opened, downloaded or drag'n'droped in PS. Archive dialog is opened. Then if more than 1 project is selected, only geometry is loaded.
Opening of 3mf project now supports openning project in new PS instance.
use case 1 - the option is not added to the command line - PrusaSlicer defaults to the highest available core profile OpenGL version
use case 2 - the option specify an OpenGL version which supports core profile - PrusaSlicer select the required OpenGL version, if available
use case 3 - the option specify an OpenGL version which does not support core profile - PrusaSlicer defaults to the highest available compatibility profile OpenGL version
use case 4 - the option contains invalid OpenGL version - PrusaSlicer defaults to the highest available core profile OpenGL version
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.
Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.
Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.
Reworked QHull integration into TriangleMesh:
1) Face normals were not right.
2) Indexed triangle set is newly emitted instead of duplicating
vertices for each face.
Fixed cut_mesh(): Orient the triangulated faces correctly.
'dont-ensure-on-bed' (which allows to override). This was the original
behaviour in Slic3r and Sli3rPE, probably broken long ago when CLI
was ported from Perl.
Also, --scale-to-fit should now work again (#5772)
1) Polished up wording of the error messages.
2) Made some messages in the SysInfo dialog localized.
3) Renamed LibraryCheck.cpp/hpp to BlacklistedLibraryCheck.cpp/hpp
4) CPPized the BlacklistedLibraryCheck WIN32 C code.