mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-07-16 17:41:49 +08:00
36 lines
930 B
C++
36 lines
930 B
C++
#ifndef slic3r_FindReplace_hpp_
|
|
#define slic3r_FindReplace_hpp_
|
|
|
|
#include "../PrintConfig.hpp"
|
|
|
|
#include <boost/regex.hpp>
|
|
|
|
namespace Slic3r {
|
|
|
|
class GCodeFindReplace {
|
|
public:
|
|
GCodeFindReplace(const PrintConfig &print_config) : GCodeFindReplace(print_config.gcode_substitutions.values) {}
|
|
GCodeFindReplace(const std::vector<std::string> &gcode_substitutions);
|
|
|
|
|
|
std::string process_layer(const std::string &gcode);
|
|
|
|
private:
|
|
struct Substitution {
|
|
std::string plain_pattern;
|
|
boost::regex regexp_pattern;
|
|
std::string format;
|
|
|
|
bool regexp { false };
|
|
bool case_insensitive { false };
|
|
bool whole_word { false };
|
|
// Valid for regexp only. Equivalent to Perl's /s modifier.
|
|
bool single_line { false };
|
|
};
|
|
std::vector<Substitution> m_substitutions;
|
|
};
|
|
|
|
}
|
|
|
|
#endif // slic3r_FindReplace_hpp_
|