30 Model* model, |
30 Model* model, |
31 Document* document, |
31 Document* document, |
32 DocumentManager* documents, |
32 DocumentManager* documents, |
33 const ldraw::ColorTable& colorTable, |
33 const ldraw::ColorTable& colorTable, |
34 QWidget* parent = nullptr); |
34 QWidget* parent = nullptr); |
35 void clearSelection(); |
|
36 void addToSelection(ldraw::id_t id); |
|
37 void setOverpaintCallback(OverpaintCallback fn); |
35 void setOverpaintCallback(OverpaintCallback fn); |
38 void drawWorldPoint(QPainter* painter, const glm::vec3& worldPoint) const; |
36 void drawWorldPoint(QPainter* painter, const glm::vec3& worldPoint) const; |
39 void drawWorldPolyline(QPainter* painter, const std::vector<glm::vec3>& points); |
37 void drawWorldPolyline(QPainter* painter, const std::vector<glm::vec3>& points); |
40 void drawWorldPolygon(QPainter* painter, const std::vector<glm::vec3>& points); |
38 void drawWorldPolygon(QPainter* painter, const std::vector<glm::vec3>& points); |
41 Winding worldPolygonWinding(const std::vector<glm::vec3>& points) const; |
39 Winding worldPolygonWinding(const std::vector<glm::vec3>& points) const; |
56 void mouseReleaseEvent(QMouseEvent* event) override; |
54 void mouseReleaseEvent(QMouseEvent* event) override; |
57 void initializeGL() override; |
55 void initializeGL() override; |
58 void paintGL() override; |
56 void paintGL() override; |
59 Q_SIGNALS: |
57 Q_SIGNALS: |
60 void newStatusText(const QString& newStatusText); |
58 void newStatusText(const QString& newStatusText); |
61 void selectionChanged(const QSet<ldraw::id_t>& newSelection); |
|
62 void mouseClick(QMouseEvent* event); |
59 void mouseClick(QMouseEvent* event); |
63 void mouseMove(QMouseEvent* event); |
60 void mouseMove(QMouseEvent* event); |
64 private: |
61 private: |
65 bool isGridPerpendicularToScreen(float threshold) const; |
62 bool isGridPerpendicularToScreen(float threshold) const; |
66 QVector<QPointF> convertWorldPointsToScreenPoints(const std::vector<glm::vec3>& worldPoints) const; |
63 QVector<QPointF> convertWorldPointsToScreenPoints(const std::vector<glm::vec3>& worldPoints) const; |