#ifndef slic3r_SpiralVase_hpp_ #define slic3r_SpiralVase_hpp_ #include "../libslic3r.h" #include "../GCodeReader.hpp" namespace Slic3r { class SpiralVase { public: SpiralVase(const PrintConfig &config) : m_config(config) { m_reader.z() = (float)m_config.z_offset; m_reader.apply_config(m_config); }; void enable(bool en) { m_transition_layer = en && ! m_enabled; m_enabled = en; } std::string process_layer(const std::string &gcode); private: const PrintConfig &m_config; GCodeReader m_reader; bool m_enabled = false; // First spiral vase layer. Layer height has to be ramped up from zero to the target layer height. bool m_transition_layer = false; }; } #endif // slic3r_SpiralVase_hpp_