%module{Slic3r::XS}; %{ #include #include "libslic3r/Extruder.hpp" %} %name{Slic3r::Extruder} class Extruder { Extruder(unsigned int id, StaticPrintConfig* config) %code%{ RETVAL = new Extruder (id, dynamic_cast(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(); unsigned 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 filament_diameter(); double filament_density(); double filament_cost(); 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(); };