diff options
Diffstat (limited to 'src/graphicsscene.h')
| -rw-r--r-- | src/graphicsscene.h | 33 |
1 files changed, 33 insertions, 0 deletions
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 <QGraphicsScene> + +// 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}; +}; |
