2 #include "common/layer.hpp"
3 #include "util/uuid.hpp"
9 enum class Type { INVALID, INT, BOOL, STRING, UUID, DOUBLE };
14 virtual Type get_type()
const
18 virtual ~PropertyValue()
25 class PropertyValueInt :
public PropertyValue {
27 PropertyValueInt(
const int64_t &v = 0) : value(v)
30 Type get_type()
const override
38 class PropertyValueDouble :
public PropertyValue {
40 PropertyValueDouble(
const double &v = 0) : value(v)
43 Type get_type()
const override
51 class PropertyValueBool :
public PropertyValue {
53 PropertyValueBool(
bool v =
false) : value(v)
56 Type get_type()
const override
64 class PropertyValueString :
public PropertyValue {
66 PropertyValueString(
const std::string &v =
"") : value(v)
69 Type get_type()
const override
77 class PropertyValueUUID :
public PropertyValue {
79 PropertyValueUUID(
const UUID &v = UUID()) : value(v)
82 Type get_type()
const override
95 bool is_settable =
true;
96 bool is_visible =
true;
97 virtual ~PropertyMeta()
102 class PropertyMetaNetClasses :
public PropertyMeta {
104 using PropertyMeta::PropertyMeta;
105 std::map<UUID, std::string> net_classes;
108 class PropertyMetaLayers :
public PropertyMeta {
110 using PropertyMeta::PropertyMeta;
111 std::map<int, Layer> layers;