%module{Slic3r::XS}; %{ #include #include "libslic3r/Extruder.hpp" %} %name{Slic3r::Extruder} class Extruder { Extruder(int id, GCodeConfig *config); ~Extruder(); void reset(); double extrude(double dE); double retract(double length, double restart_extra); double unretract(); double e_per_mm(double mm3_per_mm); double extruded_volume(); double used_filament(); int id() %code%{ RETVAL = THIS->id; %}; double E() %code%{ RETVAL = THIS->E; %}; double set_E(double val) %code%{ RETVAL = THIS->E = val; %}; double absolute_E() %code%{ RETVAL = THIS->absolute_E; %}; double set_absolute_E(double val) %code%{ RETVAL = THIS->absolute_E = val; %}; double retracted() %code%{ RETVAL = THIS->retracted; %}; double set_retracted(double val) %code%{ RETVAL = THIS->retracted = val; %}; double restart_extra() %code%{ RETVAL = THIS->restart_extra; %}; double set_restart_extra(double val) %code%{ RETVAL = THIS->restart_extra = val; %}; double e_per_mm3() %code%{ RETVAL = THIS->e_per_mm3; %}; double retract_speed_mm_min() %code%{ RETVAL = THIS->retract_speed_mm_min; %}; double filament_diameter(); double extrusion_multiplier(); double retract_length(); double retract_lift(); int retract_speed(); double retract_restart_extra(); double retract_length_toolchange(); double retract_restart_extra_toolchange(); };