Interface to a filler, ported from Perl to C++.
This commit is contained in:
parent
be3e4caf1d
commit
9716ee8eca
68
xs/xsp/Filler.xsp
Normal file
68
xs/xsp/Filler.xsp
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
%module{Slic3r::XS};
|
||||||
|
|
||||||
|
%{
|
||||||
|
#include <xsinit.h>
|
||||||
|
#include "libslic3r/Fill/FillBase.hpp"
|
||||||
|
%}
|
||||||
|
|
||||||
|
%name{Slic3r::Filler} class Filler {
|
||||||
|
~Filler();
|
||||||
|
|
||||||
|
void set_bounding_box(BoundingBox *bbox)
|
||||||
|
%code{% THIS->fill->set_bounding_box(*bbox); %};
|
||||||
|
void set_spacing(coordf_t spacing)
|
||||||
|
%code{% THIS->fill->spacing = spacing; %};
|
||||||
|
coordf_t spacing()
|
||||||
|
%code{% RETVAL = THIS->fill->spacing; %};
|
||||||
|
void set_layer_id(size_t layer_id)
|
||||||
|
%code{% THIS->fill->layer_id = layer_id; %};
|
||||||
|
void set_z(coordf_t z)
|
||||||
|
%code{% THIS->fill->z = z; %};
|
||||||
|
void set_angle(float angle)
|
||||||
|
%code{% THIS->fill->angle = angle; %};
|
||||||
|
void set_loop_clipping(coordf_t clipping)
|
||||||
|
%code{% THIS->fill->loop_clipping = clipping; %};
|
||||||
|
|
||||||
|
bool use_bridge_flow()
|
||||||
|
%code{% RETVAL = THIS->fill->use_bridge_flow(); %};
|
||||||
|
bool no_sort()
|
||||||
|
%code{% RETVAL = THIS->fill->no_sort(); %};
|
||||||
|
|
||||||
|
void set_width(float width)
|
||||||
|
%code{% THIS->params.width = width; %};
|
||||||
|
void set_density(float density)
|
||||||
|
%code{% THIS->params.density = density; %};
|
||||||
|
void set_distance(float distance)
|
||||||
|
%code{% THIS->params.distance = distance; %};
|
||||||
|
void set_dont_connect(bool dont_connect)
|
||||||
|
%code{% THIS->params.dont_connect = dont_connect; %};
|
||||||
|
void set_dont_adjust(bool dont_adjust)
|
||||||
|
%code{% THIS->params.dont_adjust = dont_adjust; %};
|
||||||
|
void set_complete(bool complete)
|
||||||
|
%code{% THIS->params.complete = complete; %};
|
||||||
|
|
||||||
|
PolylineCollection* _fill_surface(Surface *surface)
|
||||||
|
%code{%
|
||||||
|
PolylineCollection *pc = NULL;
|
||||||
|
if (THIS->fill != NULL) {
|
||||||
|
pc = new PolylineCollection();
|
||||||
|
pc->polylines = THIS->fill->fill_surface(surface, THIS->params);
|
||||||
|
}
|
||||||
|
RETVAL = pc;
|
||||||
|
%};
|
||||||
|
|
||||||
|
%{
|
||||||
|
|
||||||
|
Filler*
|
||||||
|
new_from_type(CLASS, type)
|
||||||
|
char* CLASS;
|
||||||
|
std::string type;
|
||||||
|
CODE:
|
||||||
|
Filler *filler = new Filler();
|
||||||
|
filler->fill = Fill::new_from_type(type);
|
||||||
|
RETVAL = filler;
|
||||||
|
OUTPUT:
|
||||||
|
RETVAL
|
||||||
|
|
||||||
|
%}
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user