2014-04-07 23:42:29 +00:00
|
|
|
#ifndef slic3r_Extruder_hpp_
|
|
|
|
#define slic3r_Extruder_hpp_
|
|
|
|
|
|
|
|
#include <myinit.h>
|
|
|
|
#include "Point.hpp"
|
2014-04-26 21:28:32 +00:00
|
|
|
#include "PrintConfig.hpp"
|
2014-04-07 23:42:29 +00:00
|
|
|
|
|
|
|
namespace Slic3r {
|
|
|
|
|
|
|
|
class Extruder
|
|
|
|
{
|
|
|
|
public:
|
2014-04-26 21:28:32 +00:00
|
|
|
Extruder(int id, PrintConfig *config);
|
2014-04-07 23:42:29 +00:00
|
|
|
virtual ~Extruder() {}
|
|
|
|
void reset();
|
|
|
|
double extrude(double dE);
|
|
|
|
|
2014-04-27 21:49:05 +00:00
|
|
|
|
2014-04-26 21:28:32 +00:00
|
|
|
bool use_relative_e_distances() const;
|
2014-04-27 21:49:05 +00:00
|
|
|
Pointf extruder_offset() const;
|
|
|
|
double nozzle_diameter() const;
|
|
|
|
double filament_diameter() const;
|
|
|
|
double extrusion_multiplier() const;
|
|
|
|
int temperature() const;
|
|
|
|
int first_layer_temperature() const;
|
|
|
|
double retract_length() const;
|
|
|
|
double retract_lift() const;
|
|
|
|
int retract_speed() const;
|
|
|
|
double retract_restart_extra() const;
|
|
|
|
double retract_before_travel() const;
|
|
|
|
bool retract_layer_change() const;
|
|
|
|
double retract_length_toolchange() const;
|
|
|
|
double retract_restart_extra_toolchange() const;
|
|
|
|
bool wipe() const;
|
2014-04-26 21:28:32 +00:00
|
|
|
|
2014-04-07 23:42:29 +00:00
|
|
|
int id;
|
|
|
|
double E;
|
|
|
|
double absolute_E;
|
|
|
|
double retracted;
|
|
|
|
double restart_extra;
|
|
|
|
|
2014-04-27 21:03:22 +00:00
|
|
|
PrintConfig *config;
|
2014-04-27 21:49:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
// get value from a ConfigOptionVector subtype, indexed by extruder id
|
|
|
|
template <typename Val, class OptType>
|
|
|
|
Val get_config(const char *name) const;
|
2014-04-07 23:42:29 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|