diff -r 01537fbe096e -r 8d88adffb779 src/model.h --- a/src/model.h Tue Apr 11 22:51:47 2023 +0300 +++ b/src/model.h Wed Apr 12 01:53:42 2023 +0300 @@ -62,25 +62,27 @@ return p.segments * q.divisions < q.segments / p.divisions; } -struct CircularPrimitive +enum class circular_primitive_type_e { - enum Type - { - Circle, - Disc, - Cylinder, - CylinderOpen, - CylinderClosed, - DiscNegative, - Chord, - } type; - static constexpr int NUM_TYPES = Chord + 1; + circle, + disc, + cylinder, + cylinder_open, + cylinder_closed, + disc_negative, + chord, +}; + +struct circular_primitive +{ + static constexpr int NUM_TYPES = static_cast(circular_primitive_type_e::chord) + 1; + circular_primitive_type_e type; CircularFraction fraction; glm::mat4 transformation; bool inverted = false; }; -constexpr char circularPrimitiveStems[CircularPrimitive::NUM_TYPES][5] = { +constexpr char circularPrimitiveStems[circular_primitive::NUM_TYPES][5] = { "edge", "disc", "cyli", @@ -90,12 +92,12 @@ "chrd", }; -Q_DECLARE_METATYPE(CircularPrimitive::Type) +Q_DECLARE_METATYPE(circular_primitive_type_e) struct CircleToolOptions { CircularFraction fraction; - CircularPrimitive::Type type; + circular_primitive_type_e type; }; using ModelElement = std::variant< @@ -104,7 +106,7 @@ Colored, Colored, Colored, - Colored, + Colored, Comment, Empty, ParseError>;