src/gl/partrenderer.h

changeset 313
c24d87f64bed
parent 309
d862721d19a3
child 322
a39f454a3d7f
equal deleted inserted replaced
312:2637134bc37c 313:c24d87f64bed
26 double zoom = 1.0; 26 double zoom = 1.0;
27 bool initialized = false; 27 bool initialized = false;
28 bool needBuild = true; 28 bool needBuild = true;
29 std::vector<RenderLayer*> activeRenderLayers; 29 std::vector<RenderLayer*> activeRenderLayers;
30 std::vector<RenderLayer*> inactiveRenderLayers; 30 std::vector<RenderLayer*> inactiveRenderLayers;
31 std::chrono::time_point<std::chrono::steady_clock> lastClickTime;
31 bool frozen = false; 32 bool frozen = false;
32 public: 33 public:
33 PartRenderer( 34 PartRenderer(
34 Model* model, 35 Model* model,
35 DocumentManager* documents, 36 DocumentManager* documents,
43 std::optional<glm::vec3> screenToModelCoordinates(const QPointF& point, const Plane& plane) const; 44 std::optional<glm::vec3> screenToModelCoordinates(const QPointF& point, const Plane& plane) const;
44 QPointF modelToScreenCoordinates(const glm::vec3& point) const; 45 QPointF modelToScreenCoordinates(const glm::vec3& point) const;
45 bool isDark() const; 46 bool isDark() const;
46 ElementId pick(QPoint where); 47 ElementId pick(QPoint where);
47 void setSelection(const QSet<ElementId>& selectedIds); 48 void setSelection(const QSet<ElementId>& selectedIds);
49 glm::vec3 cameraVector(const QPointF& point) const;
50 Line<3> cameraLine(const QPointF& point) const;
48 Q_SIGNALS: 51 Q_SIGNALS:
49 void projectionMatrixChanged(const glm::mat4& newMatrix); 52 void projectionMatrixChanged(const glm::mat4& newMatrix);
50 void modelMatrixChanged(const glm::mat4& newMatrix); 53 void modelMatrixChanged(const glm::mat4& newMatrix);
51 void viewMatrixChanged(const glm::mat4& newMatrix); 54 void viewMatrixChanged(const glm::mat4& newMatrix);
52 void renderPreferencesChanged(); 55 void renderPreferencesChanged();
58 void mouseMoveEvent(QMouseEvent* event) override; 61 void mouseMoveEvent(QMouseEvent* event) override;
59 void mousePressEvent(QMouseEvent* event) override; 62 void mousePressEvent(QMouseEvent* event) override;
60 void mouseReleaseEvent(QMouseEvent* event) override; 63 void mouseReleaseEvent(QMouseEvent* event) override;
61 void keyReleaseEvent(QKeyEvent* event) override; 64 void keyReleaseEvent(QKeyEvent* event) override;
62 void wheelEvent(QWheelEvent* event) override; 65 void wheelEvent(QWheelEvent* event) override;
63 Line<3> cameraLine(const QPointF& point) const;
64 glm::vec3 unproject(const glm::vec3& win) const; 66 glm::vec3 unproject(const glm::vec3& win) const;
65 void setFragmentStyle(gl::FragmentStyle fragStyle); 67 void setFragmentStyle(gl::FragmentStyle fragStyle);
66 void renderScene(); 68 void renderScene();
67 void updateViewMatrix(); 69 void updateViewMatrix();
68 void updateModelMatrix(); 70 void updateModelMatrix();

mercurial