e0d1aa8a1a
The perimeter surfaces are later used for performing infill below overhangs and to maintan configured vertical wall thickness at sloping surfaces.
39 lines
1.5 KiB
Plaintext
39 lines
1.5 KiB
Plaintext
%module{Slic3r::XS};
|
|
|
|
%{
|
|
#include <xsinit.h>
|
|
#include "libslic3r/PerimeterGenerator.hpp"
|
|
%}
|
|
|
|
%name{Slic3r::Layer::PerimeterGenerator} class PerimeterGenerator {
|
|
PerimeterGenerator(SurfaceCollection* slices, double layer_height, Flow* flow,
|
|
StaticPrintConfig* region_config, StaticPrintConfig* object_config,
|
|
StaticPrintConfig* print_config, ExtrusionEntityCollection* loops,
|
|
ExtrusionEntityCollection* gap_fill,
|
|
SurfaceCollection* perimeter_surfaces, SurfaceCollection* fill_surfaces)
|
|
%code{% RETVAL = new PerimeterGenerator(slices, layer_height, *flow,
|
|
dynamic_cast<PrintRegionConfig*>(region_config),
|
|
dynamic_cast<PrintObjectConfig*>(object_config),
|
|
dynamic_cast<PrintConfig*>(print_config),
|
|
loops, gap_fill, perimeter_surfaces, fill_surfaces); %};
|
|
~PerimeterGenerator();
|
|
|
|
void set_lower_slices(ExPolygonCollection* lower_slices)
|
|
%code{% THIS->lower_slices = lower_slices; %};
|
|
void set_layer_id(int layer_id)
|
|
%code{% THIS->layer_id = layer_id; %};
|
|
void set_perimeter_flow(Flow* flow)
|
|
%code{% THIS->perimeter_flow = *flow; %};
|
|
void set_ext_perimeter_flow(Flow* flow)
|
|
%code{% THIS->ext_perimeter_flow = *flow; %};
|
|
void set_overhang_flow(Flow* flow)
|
|
%code{% THIS->overhang_flow = *flow; %};
|
|
void set_solid_infill_flow(Flow* flow)
|
|
%code{% THIS->solid_infill_flow = *flow; %};
|
|
|
|
Ref<StaticPrintConfig> config()
|
|
%code{% RETVAL = THIS->config; %};
|
|
|
|
void process();
|
|
};
|