19 Model* model, |
19 Model* model, |
20 DocumentManager* documents, |
20 DocumentManager* documents, |
21 const ldraw::ColorTable& colorTable, |
21 const ldraw::ColorTable& colorTable, |
22 QWidget* parent = nullptr); |
22 QWidget* parent = nullptr); |
23 ~PartRenderer() override; |
23 ~PartRenderer() override; |
24 void setRenderStyle(const gl::RenderStyle newStyle); |
24 void setRenderPreferences(const gl::RenderPreferences& newPreferences); |
25 protected: |
25 protected: |
26 void initializeGL() override; |
26 void initializeGL() override; |
27 void resizeGL(int width, int height) override; |
27 void resizeGL(int width, int height) override; |
28 void paintGL() override; |
28 void paintGL() override; |
29 void mouseMoveEvent(QMouseEvent* event) override; |
29 void mouseMoveEvent(QMouseEvent* event) override; |
36 Model* const model; |
36 Model* const model; |
37 DocumentManager* const documents; |
37 DocumentManager* const documents; |
38 const ldraw::ColorTable& colorTable; |
38 const ldraw::ColorTable& colorTable; |
39 QPointF lastMousePosition; |
39 QPointF lastMousePosition; |
40 gl::Compiler* compiler; |
40 gl::Compiler* compiler; |
41 gl::RenderStyle renderStyle = gl::RenderStyle::Normal; |
41 gl::RenderPreferences renderPreferences; |
42 glm::mat4 projectionMatrix; |
42 glm::mat4 projectionMatrix; |
43 glm::mat4 viewMatrix; |
43 glm::mat4 viewMatrix; |
44 glm::quat modelQuaternion; |
44 glm::quat modelQuaternion; |
45 static constexpr double MIN_ZOOM = 0.0; |
45 static constexpr double MIN_ZOOM = 0.0; |
46 static constexpr double MAX_ZOOM = 3.0; |
46 static constexpr double MAX_ZOOM = 3.0; |