8 Commits

Author SHA1 Message Date
Vojtech Bubnik
e185bf58b7 Replaced "Simple shorthands for smart pointers" shptr, uqptr, wkptr
with their original names. Using weird shorthands makes the code
unreadable for anyone but the original author.

template<class T> using shptr = std::shared_ptr<T>;
template<class T> using uqptr = std::unique_ptr<T>;
template<class T> using wkptr = std::weak_ptr<T>;
2021-10-04 16:56:26 +02:00
tamasmeszaros
4d2bf8db0d Switch to current SLA profile if an imported archive doesn't contain it.
Send a warning notification if this happens. Also,if  there is no current SLA profile initialized, an error message will tell the user to switch to an SLA profile before importing.

fixes #6915
2021-09-27 10:00:21 +02:00
tamasmeszaros
33eba4aea6 Rename SLAPrinter interface to SLAArchive as it makes more sense. 2021-09-27 10:00:21 +02:00
Vojtech Bubnik
0f3cabb5d9 Support for forward compatibility of configurations, user and system
config bundles, project files (3MFs, AMFs). When loading these files,
the caller may decide whether to substitute some of the configuration
values the current PrusaSlicer version does not understand with
some reasonable default value, and whether to report it. If substitution
is disabled, an exception is being thrown as before this commit.
If substitution is enabled, list of substitutions is returned by the
API to be presented to the user. This allows us to introduce for example
new firmware flavor key in PrusaSlicer 2.4 while letting PrusaSlicer
2.3.2 to fall back to some default and to report it to the user.

When slicing from command line, substutions are performed by default
and reported into the console, however substitutions may be either
disabled or made silent with the new "config-compatibility" command
line option.

Substitute enums and bools only.  Allow booleans to be parsed as
    true: "1", "enabled", "on" case insensitive
    false: "0", "disabled", "off" case insensitive
This will allow us in the future for example to switch the draft_shield
boolean to an enum with the following values: "disabled" / "enabled" / "limited".

Added "enum_bitmask.hpp" - support for type safe sets of options.
See for example PresetBundle::load_configbundle(...
LoadConfigBundleAttributes flags) for an example of intended usage.

WIP: GUI for reporting the list of config substitutions needs to be
implemented by @YuSanka.
2021-06-27 16:57:05 +02:00
tamasmeszaros
8fdb0fddc0 Get rid of Contour3D 2021-06-08 10:28:23 +02:00
tamasmeszaros
769ee15475 Move SLA import to libslic3r with png reading using libpng
Also fix flipped object issue
2020-08-27 23:14:42 +02:00
tamasmeszaros
9486901b93 Minor change to SLAPrinter interface 2020-08-13 14:35:14 +02:00
tamasmeszaros
247fca6d55 Initial version of sl1 import with sla::Raster refactor. 2020-04-23 19:05:32 +02:00