Slic3r/xs/src/Extruder.cpp

129 lines
2.1 KiB
C++

#include "Extruder.hpp"
namespace Slic3r {
Extruder::Extruder(int id, PrintConfig *config)
: id(id),
config(config)
{
reset();
}
void
Extruder::reset()
{
this->E = 0;
this->absolute_E = 0;
this->retracted = 0;
this->restart_extra = 0;
}
double
Extruder::extrude(double dE)
{
if (this->config->use_relative_e_distances) {
this->E = 0;
}
this->E += dE;
this->absolute_E += dE;
return this->E;
}
Pointf
Extruder::extruder_offset() const
{
return this->config->extruder_offset.get_at(this->id);
}
double
Extruder::nozzle_diameter() const
{
return this->config->nozzle_diameter.get_at(this->id);
}
double
Extruder::filament_diameter() const
{
return this->config->filament_diameter.get_at(this->id);
}
double
Extruder::extrusion_multiplier() const
{
return this->config->extrusion_multiplier.get_at(this->id);
}
int
Extruder::temperature() const
{
return this->config->temperature.get_at(this->id);
}
int
Extruder::first_layer_temperature() const
{
return this->config->first_layer_temperature.get_at(this->id);
}
double
Extruder::retract_length() const
{
return this->config->retract_length.get_at(this->id);
}
double
Extruder::retract_lift() const
{
return this->config->retract_lift.get_at(this->id);
}
int
Extruder::retract_speed() const
{
return this->config->retract_speed.get_at(this->id);
}
double
Extruder::retract_restart_extra() const
{
return this->config->retract_restart_extra.get_at(this->id);
}
double
Extruder::retract_before_travel() const
{
return this->config->retract_before_travel.get_at(this->id);
}
bool
Extruder::retract_layer_change() const
{
return this->config->retract_layer_change.get_at(this->id);
}
double
Extruder::retract_length_toolchange() const
{
return this->config->retract_length_toolchange.get_at(this->id);
}
double
Extruder::retract_restart_extra_toolchange() const
{
return this->config->retract_restart_extra_toolchange.get_at(this->id);
}
bool
Extruder::wipe() const
{
return this->config->wipe.get_at(this->id);
}
#ifdef SLIC3RXS
REGISTER_CLASS(Extruder, "Extruder");
#endif
}