36 Q_DECLARE_METATYPE(ModelAction) |
37 Q_DECLARE_METATYPE(ModelAction) |
37 |
38 |
38 class EditTools final : public QObject, public RenderLayer |
39 class EditTools final : public QObject, public RenderLayer |
39 { |
40 { |
40 Q_OBJECT |
41 Q_OBJECT |
41 std::vector<glm::vec3> polygon = {{0, 0, 0}}; |
42 InputVertices inputPolygon; |
42 std::size_t numpoints = 1; |
|
43 EditingMode mode = SelectMode; |
43 EditingMode mode = SelectMode; |
44 glm::mat4 mvpMatrix; |
44 glm::mat4 mvpMatrix; |
45 glm::mat4 gridMatrix{1}; |
45 glm::mat4 gridMatrix{1}; |
46 Plane gridPlane; |
46 Plane gridPlane; |
47 QPointF localPosition; |
47 QPointF localPosition; |
74 [[nodiscard]] const std::vector<ModelAction> circleModeActions() const; |
74 [[nodiscard]] const std::vector<ModelAction> circleModeActions() const; |
75 [[nodiscard]] const std::vector<ModelAction> drawModeActions() const; |
75 [[nodiscard]] const std::vector<ModelAction> drawModeActions() const; |
76 bool usePolygon() const; |
76 bool usePolygon() const; |
77 void closeShape(); |
77 void closeShape(); |
78 void renderPreview(QPainter* painter, const void* pensptr); |
78 void renderPreview(QPainter* painter, const void* pensptr); |
79 void removeLastPoint(); |
|
80 [[nodiscard]] bool isCloseToExistingPoints() const; |
|
81 [[nodiscard]] std::size_t calcNumPoints() const; |
|
82 [[nodiscard]] opt<float> cylinderHeight() const; |
79 [[nodiscard]] opt<float> cylinderHeight() const; |
83 }; |
80 }; |