projector version
This commit is contained in:
@@ -74,6 +74,7 @@ class AppWindowUiMixin:
|
||||
self._plot_stack = QStackedWidget(root)
|
||||
self._build_bscan_plot_page()
|
||||
self._build_gpr_plot_page()
|
||||
self._build_sar3d_plot_page()
|
||||
self._build_trace_plot_page()
|
||||
|
||||
# Default view on startup is pass-through traces.
|
||||
@@ -139,6 +140,27 @@ class AppWindowUiMixin:
|
||||
self._configure_gpr_plot_axes()
|
||||
self._plot_stack.addWidget(self._gpr_plot)
|
||||
|
||||
def _build_sar3d_plot_page(self) -> None:
|
||||
"""Create 3D SAR page with stacked side (X-Z) and top (X-Y) projection plots."""
|
||||
# 3D SAR surface: container with two projection heatmaps, mirroring the
|
||||
# pass-through page layout (two stacked PlotWidgets on one stack page).
|
||||
self._sar3d_plots_container = QWidget()
|
||||
sar3d_layout = QVBoxLayout(self._sar3d_plots_container)
|
||||
sar3d_layout.setContentsMargins(0, 0, 0, 0)
|
||||
sar3d_layout.setSpacing(6)
|
||||
|
||||
self._sar3d_xz_plot = self._create_plot_widget(background="#0f141c")
|
||||
self._sar3d_xz_plot.showGrid(x=True, y=True, alpha=0.2)
|
||||
sar3d_layout.addWidget(self._sar3d_xz_plot, stretch=1)
|
||||
|
||||
self._sar3d_xy_plot = self._create_plot_widget(background="#0f141c")
|
||||
self._sar3d_xy_plot.showGrid(x=True, y=True, alpha=0.2)
|
||||
sar3d_layout.addWidget(self._sar3d_xy_plot, stretch=1)
|
||||
|
||||
self._configure_sar3d_plot_axes()
|
||||
self._clear_sar3d_plot()
|
||||
self._plot_stack.addWidget(self._sar3d_plots_container)
|
||||
|
||||
def _build_settings_toggle(self, root_layout: QHBoxLayout) -> None:
|
||||
"""Create narrow button used to collapse or show settings panel."""
|
||||
self._settings_toggle_button = QPushButton("<")
|
||||
@@ -286,6 +308,7 @@ class AppWindowUiMixin:
|
||||
|
||||
`bscan` -> show `self._bscan_plot`
|
||||
`gpr` and `legacy_gpr` -> show `self._gpr_plot`
|
||||
`sar3d` -> show `self._sar3d_plots_container`
|
||||
otherwise -> show `self._trace_plots_container`
|
||||
"""
|
||||
if mode == "bscan":
|
||||
@@ -294,6 +317,9 @@ class AppWindowUiMixin:
|
||||
if mode in {"gpr", "legacy_gpr"}:
|
||||
self._plot_stack.setCurrentWidget(self._gpr_plot)
|
||||
return
|
||||
if mode == "sar3d":
|
||||
self._plot_stack.setCurrentWidget(self._sar3d_plots_container)
|
||||
return
|
||||
self._plot_stack.setCurrentWidget(self._trace_plots_container)
|
||||
|
||||
@staticmethod
|
||||
|
||||
Reference in New Issue
Block a user