SLA backend thread-safety improvements

- Put AnyPtr into separate header, it deserves one
- Add means to handle shared pointers inside AnyPtr
- Use shared pointers in sla csg collection for meshes not owned by Model
- Add method to get the last completed step in PrintObjectBase
- Make SLAPrintObject::get_parts_to_slice() safe to call from UI thread against background thread activity.
This commit is contained in:
tamasmeszaros 2023-01-11 18:24:44 +01:00
parent a4e50f8219
commit 440df505b4
11 changed files with 218 additions and 109 deletions

View file

@ -12,10 +12,10 @@ namespace Slic3r { namespace csg {
// Flags to select which parts to export from Model into a csg part collection.
// These flags can be chained with the | operator
enum ModelParts {
mpartsPositive = 1, // Include positive parts
mpartsNegative = 2, // Include negative parts
mpartsDrillHoles = 4, // Include drill holes
mpartsDoSplits = 8 // Split each splitable mesh and export as a union of csg parts
mpartsPositive = 1, // Include positive parts
mpartsNegative = 2, // Include negative parts
mpartsDrillHoles = 4, // Include drill holes
mpartsDoSplits = 8, // Split each splitable mesh and export as a union of csg parts
};
template<class OutIt>