From ad001563fda4a9061909bd09dcf51238138014d6 Mon Sep 17 00:00:00 2001 From: Nikita Kostovsky Date: Fri, 19 Sep 2025 14:28:21 +0200 Subject: initial commit --- src/graphicsscene.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/graphicsscene.h (limited to 'src/graphicsscene.h') diff --git a/src/graphicsscene.h b/src/graphicsscene.h new file mode 100644 index 0000000..289deba --- /dev/null +++ b/src/graphicsscene.h @@ -0,0 +1,33 @@ +#pragma once + +// qt +#include + +// optical design +#include "opticaldesign.h" + +class GraphicsScene : public QGraphicsScene +{ + Q_OBJECT + +public: + explicit GraphicsScene(QObject* parent = nullptr); + ~GraphicsScene() override = default; + +public slots: + // TODO: store design in scene? + void update(OpticalDesign* design); + +private: + QGraphicsLineItem* m_lineOfActionItem{nullptr}; + QGraphicsEllipseItem* m_lenseItem{nullptr}; + QGraphicsLineItem* m_opticalAxisItem{nullptr}; + QGraphicsLineItem* m_laserPlaneItem{nullptr}; + QGraphicsLineItem* m_desiredLaserPlaneItem{nullptr}; + QGraphicsLineItem* m_reverseLaserPlaneItem{nullptr}; + QGraphicsLineItem* m_desiredImagePlaneItem{nullptr}; + QGraphicsLineItem* m_sensorItem{nullptr}; + QGraphicsLineItem* m_actualRangeItem{nullptr}; + QGraphicsPolygonItem* m_desiredRangeAreaItem{nullptr}; + QGraphicsPolygonItem* m_actualRangeAreaItem{nullptr}; +}; -- cgit v1.2.3-70-g09d2