summaryrefslogtreecommitdiff
path: root/src/mainwindow.cpp
diff options
context:
space:
mode:
authorNikita Kostovsky <nikita@kostovsky.me>2025-09-20 17:34:39 +0200
committerNikita Kostovsky <nikita@kostovsky.me>2025-09-20 17:34:39 +0200
commitb724e714d24b7623718016af921e1d9aab8d02ea (patch)
tree3d4efb61e43d8e6196c7eda061181897b27a9eee /src/mainwindow.cpp
parentad001563fda4a9061909bd09dcf51238138014d6 (diff)
check Scheimpflug principle; calculate distance to matrix and depth of fieldHEADmaster
Diffstat (limited to 'src/mainwindow.cpp')
-rw-r--r--src/mainwindow.cpp42
1 files changed, 41 insertions, 1 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 66274c1..e73df5a 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -154,6 +154,13 @@ void MainWindow::initUi()
}
);
+ connect(
+ m_design,
+ qOverload<>(&OpticalDesign::lenseApertureChanged),
+ m_scene,
+ std::bind(&GraphicsScene::update, m_scene, m_design)
+ );
+
leftLayout->addRow(tr("Lense A&perture:"), comboBox);
};
@@ -184,6 +191,14 @@ void MainWindow::initUi()
MinValue{1.},
MaxValue{45.}
);
+ addFormPair(
+ tr("&Back Focal Distance (mm):"),
+ qOverload<double>(&OpticalDesign::backFocalDistanceMmChanged),
+ &OpticalDesign::get_backFocalDistanceMm,
+ &OpticalDesign::set_backFocalDistanceMm,
+ MinValue{1.},
+ MaxValue{45.}
+ );
createLenseApertureComboBox();
@@ -271,6 +286,30 @@ void MainWindow::initUi()
Decimals{2}
);
+ addFormLabel(
+ tr("Lense-Sensor Distance (mm):"),
+ qOverload<double>(&OpticalDesign::lenseSensorDistanceMmChanged),
+ Decimals{2}
+ );
+
+ addFormLabel(
+ tr("Front Sharp Distance (mm):"),
+ qOverload<double>(&OpticalDesign::frontSharpDistanceMmChanged),
+ Decimals{2}
+ );
+
+ addFormLabel(
+ tr("Back Sharp Distance (mm):"),
+ qOverload<double>(&OpticalDesign::backSharpDistanceMmChanged),
+ Decimals{2}
+ );
+
+ addFormLabel(
+ tr("Depth Of Field (mm):"),
+ qOverload<double>(&OpticalDesign::depthOfFieldMmChanged),
+ Decimals{2}
+ );
+
// graphics view
const auto openGlWidget = new QOpenGLWidget{centralWidget()};
QSurfaceFormat surfaceFormat{};
@@ -291,7 +330,8 @@ void MainWindow::initUi()
);
m_view->setTransformationAnchor(GraphicsView::AnchorViewCenter);
- m_view->scale(15, 15);
+ m_view->scale(5, 5);
+ m_view->setTransformationAnchor(GraphicsView::AnchorUnderMouse);
m_view->centerOn({0, -m_design->get_lenseYPosMm()});
m_scene->update(m_design);