diff -r dc33f8a707c4 -r 59b6027b9843 src/document.h
--- a/src/document.h Sun Jun 26 20:54:09 2022 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
- * LDForge: LDraw parts authoring CAD
- * Copyright (C) 2013 - 2020 Teemu Piippo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-#include
-#include
-#include
-#include "model.h"
-#include "vertexmap.h"
-#include "gl/common.h"
-
-enum EditingMode
-{
- SelectMode,
- DrawMode,
- CircleMode
-};
-
-Q_DECLARE_METATYPE(EditingMode)
-
-Q_DECLARE_METATYPE(ModelAction)
-
-class EditTools final : public QObject, public RenderLayer
-{
- Q_OBJECT
- std::vector polygon = {{0, 0, 0}};
- std::size_t numpoints = 1;
- EditingMode mode = SelectMode;
- glm::mat4 mvpMatrix;
- glm::mat4 gridMatrix{1};
- Plane gridPlane;
- opt worldPosition;
- CircleToolOptions circleToolOptions = {
- .fraction = {16, 16},
- .type = CircularPrimitive::Circle,
- };
-public:
- explicit EditTools(QObject *parent = nullptr);
- ~EditTools() override;
- void applyToVertices(VertexMap::ApplyFunction fn) const;
- const QSet selectedObjects() const;
- EditingMode currentEditingMode() const;
- Q_SLOT void setEditMode(EditingMode mode);
- Q_SLOT void setGridMatrix(const glm::mat4& gridMatrix);
- Q_SLOT void setCircleToolOptions(const CircleToolOptions& options);
-Q_SIGNALS:
- void newStatusText(const QString& newStatusText);
- void modelAction(const ModelAction& action);
- void select(const QSet& ids, bool retain);
-protected:
- void mvpMatrixChanged(const glm::mat4& matrix) override;
- void mouseMoved(const QMouseEvent* event) override;
- void mouseClick(const QMouseEvent* event) override;
- void overpaint(QPainter* painter) override;
-private:
- const std::vector modelActions() const;
- const std::vector circleModeActions() const;
- const std::vector drawModeActions() const;
- void closeShape();
- void renderPreview(QPainter* painter, const void* pensptr);
- void removeLastPoint();
- bool isCloseToExistingPoints() const;
-};