GCodePlanner::GCodePlanner(GCodeExport& gcode, int travelSpeed, int retractionMinimalDistance) : gcode(gcode), travelConfig(travelSpeed, 0, "travel") { lastPosition = gcode.getPositionXY(); comb = NULL; extrudeSpeedFactor = 100; travelSpeedFactor = 100; extraTime = 0.0; totalPrintTime = 0.0; forceRetraction = false; alwaysRetract = false; currentExtruder = gcode.getExtruderNr(); this->retractionMinimalDistance = retractionMinimalDistance; }
GCodePlanner::GCodePlanner(GCodeExport& gcode, SliceDataStorage& storage, RetractionConfig* retraction_config_travel, double travelSpeed, bool retraction_combing, unsigned int layer_nr, int64_t comb_boundary_offset, bool travel_avoid_other_parts, int64_t travel_avoid_distance) : gcode(gcode), storage(storage) , travelConfig(retraction_config_travel, "MOVE") { lastPosition = gcode.getPositionXY(); travelConfig.setSpeed(travelSpeed); comb = nullptr; last_retraction_config = &storage.retraction_config; // start with general config setExtrudeSpeedFactor(1.0); setTravelSpeedFactor(1.0); extraTime = 0.0; totalPrintTime = 0.0; currentExtruder = gcode.getExtruderNr(); if (retraction_combing) { was_combing = true; // means it will try to get inside the comb boundary first is_going_to_comb = true; // means it will try to get inside the comb boundary comb = new Comb(storage, layer_nr, comb_boundary_offset, travel_avoid_other_parts, travel_avoid_distance); } else comb = nullptr; }