2 #include "clipper/clipper.hpp" 3 #include "common/common.hpp" 4 #include "nlohmann/json_fwd.hpp" 6 #include "util/uuid.hpp" 13 enum class RulesCheckErrorLevel { NOT_RUN, PASS, WARN, FAIL };
15 Color rules_check_error_level_to_color(RulesCheckErrorLevel lev);
16 std::string rules_check_error_level_to_string(RulesCheckErrorLevel lev);
22 RulesCheckErrorLevel level = RulesCheckErrorLevel::NOT_RUN;
26 bool has_location =
false;
27 ClipperLib::Paths error_polygons;
35 RulesCheckErrorLevel level = RulesCheckErrorLevel::NOT_RUN;
38 std::deque<RulesCheckError> errors;
44 virtual void load_from_json(
const json &j) = 0;
45 virtual json serialize()
const = 0;
46 virtual std::set<RuleID> get_rule_ids()
const = 0;
47 virtual Rule *get_rule(RuleID
id) = 0;
48 virtual Rule *get_rule(RuleID
id,
const UUID &uu) = 0;
49 virtual std::map<UUID, Rule *> get_rules(RuleID
id) = 0;
50 std::vector<Rule *> get_rules_sorted(RuleID
id);
51 virtual void remove_rule(RuleID
id,
const UUID &uu) = 0;
52 virtual Rule *add_rule(RuleID
id) = 0;
53 void move_rule(RuleID
id,
const UUID &uu,
int dir);
58 void fix_order(RuleID
id);
a class to store JSON values
Definition: json.hpp:161
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61