Refactoring of perimeters/infills wiping (ToolOrdering::WipingExtrusions now takes care of the agenda)

Squashed commit of the following:

commit 931eb2684103e8571b4a2e9804765fef268361c3
Author: Lukas Matena <lukasmatena@seznam.cz>
Date:   Wed Jun 20 12:50:27 2018 +0200

    ToolOrdering::WipingExtrusions now holds all information necessary for infill/perimeter wiping

commit cc8becfbdd771f7e279434c8bd6be147e4b321ee
Author: Lukas Matena <lukasmatena@seznam.cz>
Date:   Tue Jun 19 10:52:03 2018 +0200

    Wiping is now done as normal print would be (less extra code in process_layer)

commit 1b120754b0691cce46ee5e10f3840480c559ac1f
Author: Lukas Matena <lukasmatena@seznam.cz>
Date:   Fri Jun 15 15:55:15 2018 +0200

    Refactoring: ObjectByExtruder changed so that it is aware of the wiping extrusions

commit 1641e326bb5e0a0c69d6bfc6efa23153dc2e4543
Author: Lukas Matena <lukasmatena@seznam.cz>
Date:   Thu Jun 14 12:22:18 2018 +0200

    Refactoring: new class WipingExtrusion in ToolOrdering.hpp
This commit is contained in:
Lukas Matena 2018-06-20 12:52:00 +02:00
parent 29dd305aaa
commit 8a47852be2
8 changed files with 301 additions and 303 deletions

View file

@ -93,19 +93,6 @@ public:
virtual Polyline as_polyline() const = 0;
virtual double length() const = 0;
virtual double total_volume() const = 0;
void set_entity_extruder_override(unsigned int copy, int extruder) {
if (copy+1 > extruder_override.size())
extruder_override.resize(copy+1, -1); // copy is zero-based index
extruder_override[copy] = extruder;
}
virtual int get_extruder_override(unsigned int copy) const { try { return extruder_override.at(copy); } catch (...) { return -1; } }
virtual bool is_extruder_overridden(unsigned int copy) const { try { return extruder_override.at(copy) != -1; } catch (...) { return false; } }
private:
// Set this variable to explicitly state you want to use specific extruder for thie EE (used for MM infill wiping)
// Each member of the vector corresponds to the respective copy of the object
std::vector<int> extruder_override;
};
typedef std::vector<ExtrusionEntity*> ExtrusionEntitiesPtr;