diff options
author | bubnikv <bubnikv@gmail.com> | 2017-05-25 23:27:53 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2017-05-25 23:27:53 +0300 |
commit | e000b22578a5e295958a28b5a2e74afc89109375 (patch) | |
tree | ee084d50eed7193b968c13448b4a5d2b6c6bfc12 /xs/src/libslic3r/Print.hpp | |
parent | 7d64c465c0ffdb33578f0c65a2aaea4bb2facb78 (diff) |
Implemented wipe tower print path preview.
Diffstat (limited to 'xs/src/libslic3r/Print.hpp')
-rw-r--r-- | xs/src/libslic3r/Print.hpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/xs/src/libslic3r/Print.hpp b/xs/src/libslic3r/Print.hpp index 9ad45bbcd..01180863f 100644 --- a/xs/src/libslic3r/Print.hpp +++ b/xs/src/libslic3r/Print.hpp @@ -13,6 +13,8 @@ #include "Model.hpp" #include "PlaceholderParser.hpp" #include "Slicing.hpp" +#include "GCode/ToolOrdering.hpp" +#include "GCode/WipeTower.hpp" namespace Slic3r { @@ -22,7 +24,7 @@ class ModelObject; // Print step IDs for keeping track of the print state. enum PrintStep { - psSkirt, psBrim, + psSkirt, psBrim, psWipeTower }; enum PrintObjectStep { posSlice, posPerimeters, posPrepareInfill, @@ -258,6 +260,18 @@ public: void auto_assign_extruders(ModelObject* model_object) const; void _make_skirt(); + + // Wipe tower support. + bool has_wipe_tower(); + void _clear_wipe_tower(); + void _make_wipe_tower(); + // Tool ordering of a non-sequential print has to be known to calculate the wipe tower. + // Cache it here, so it does not need to be recalculated during the G-code generation. + ToolOrdering m_tool_ordering; + // Cache of tool changes per print layer. + std::vector<std::vector<WipeTower::ToolChangeResult>> m_wipe_tower_tool_changes; + std::unique_ptr<WipeTower::ToolChangeResult> m_wipe_tower_final_purge; + std::string output_filename(); std::string output_filepath(const std::string &path); |