mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-30 16:42:43 +00:00
Bugfix: make_perimeters() was not truly idempotent because prepare_infill() split ->slices into typed surfaces
This commit is contained in:
@@ -66,7 +66,8 @@ REGISTER_CLASS(PrintRegion, "Print::Region");
|
||||
|
||||
PrintObject::PrintObject(Print* print, ModelObject* model_object, const BoundingBoxf3 &modobj_bbox)
|
||||
: _print(print),
|
||||
_model_object(model_object)
|
||||
_model_object(model_object),
|
||||
typed_slices(false)
|
||||
{
|
||||
region_volumes.resize(this->_print->regions.size());
|
||||
|
||||
|
||||
@@ -70,6 +70,10 @@ class PrintObject
|
||||
Points copies; // Slic3r::Point objects in scaled G-code coordinates
|
||||
PrintObjectConfig config;
|
||||
t_layer_height_ranges layer_height_ranges;
|
||||
|
||||
// this is set to true when LayerRegion->slices is split in top/internal/bottom
|
||||
// so that next call to make_perimeters() performs a union() before computing loops
|
||||
bool typed_slices;
|
||||
|
||||
Point3 size; // XYZ in scaled coordinates
|
||||
|
||||
|
||||
@@ -61,7 +61,12 @@ _constant()
|
||||
%code%{ RETVAL = &THIS->size; %};
|
||||
Ref<Point> _copies_shift()
|
||||
%code%{ RETVAL = &THIS->_copies_shift; %};
|
||||
|
||||
|
||||
bool typed_slices()
|
||||
%code%{ RETVAL = THIS->typed_slices; %};
|
||||
void set_typed_slices(bool value)
|
||||
%code%{ THIS->typed_slices = value; %};
|
||||
|
||||
Points _shifted_copies()
|
||||
%code%{ RETVAL = THIS->_shifted_copies; %};
|
||||
void set_shifted_copies(Points value)
|
||||
|
||||
Reference in New Issue
Block a user