Skip to content

Commit

Permalink
observer offset
Browse files Browse the repository at this point in the history
  • Loading branch information
JanCaha committed Jan 12, 2025
1 parent e79f408 commit 153ca4a
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ def prepare_task(self) -> QgsTask:
self._los_layer,
self._raster_list,
self._sampling_distance_matrix,
0,
self._widget.observer_offset,
self._widget.angle_step,
self._iface.mapCanvas().mapSettings().destinationCrs(),
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,13 @@ def __init__(self, parent: Optional[QWidget] = None) -> None:
self._rasters = QLineEdit()
self._rasters.setReadOnly(True)

self._observer_offset = QgsDoubleSpinBox(self)
self._observer_offset.setMinimum(0.0)
self._observer_offset.setMaximum(999999.999)
self._observer_offset.setValue(1.6)
self._observer_offset.setClearValue(1.6)
self._observer_offset.valueChanged.connect(self.save_settings)

self._min_angle = QgsDoubleSpinBox(self)
self._min_angle.setMinimum(-359.999)
self._min_angle.setMaximum(359.999)
Expand Down Expand Up @@ -107,14 +114,17 @@ def __init__(self, parent: Optional[QWidget] = None) -> None:
layout.addWidget(QLabel("Rasters"), 0, 0)
layout.addWidget(self._rasters, 0, 1)

layout.addWidget(self._tabs, 1, 0, 1, 2)
layout.addWidget(QLabel("Angle Step"), 2, 0)
layout.addWidget(self._angle_step, 2, 1)
layout.addWidget(QLabel("Show Distance Limits"), 3, 0)
layout.addWidget(self._show_distances, 3, 1)
layout.addWidget(QLabel("Distance Limits"), 4, 0)
layout.addWidget(self._distances, 4, 1)
layout.addWidget(self._add_los_to_layer, 5, 1, 1, 2)
layout.addWidget(QLabel("Observer Offset"), 1, 0)
layout.addWidget(self._observer_offset, 1, 1)

layout.addWidget(self._tabs, 2, 0, 1, 2)
layout.addWidget(QLabel("Angle Step"), 3, 0)
layout.addWidget(self._angle_step, 3, 1)
layout.addWidget(QLabel("Show Distance Limits"), 4, 0)
layout.addWidget(self._show_distances, 4, 1)
layout.addWidget(QLabel("Distance Limits"), 5, 0)
layout.addWidget(self._distances, 5, 1)
layout.addWidget(self._add_los_to_layer, 6, 1, 1, 2)

self._unit = QgsUnitTypes.DistanceUnit.DistanceMeters

Expand Down Expand Up @@ -168,10 +178,15 @@ def show_distance_limits(self) -> bool:
def distance_limits(self) -> List[float]:
return self._distances.distances_in_units(self._unit)

@property
def observer_offset(self) -> float:
return self._observer_offset.value()

def save_settings(self) -> None:
settings = QgsSettings()
settings_class = f"{PluginConstants.settings_group}/LoSNoTarget"

settings.setValue(f"{settings_class}/ObserverOffset", self.observer_offset, section=QgsSettings.Section.Plugins)
settings.setValue(f"{settings_class}/MinAngle", self.min_angle, section=QgsSettings.Section.Plugins)
settings.setValue(f"{settings_class}/MaxAngle", self.max_angle, section=QgsSettings.Section.Plugins)
settings.setValue(f"{settings_class}/AngleStep", self.angle_step, section=QgsSettings.Section.Plugins)
Expand Down Expand Up @@ -199,6 +214,11 @@ def load_settings(self) -> None:
settings = QgsSettings()
settings_class = f"{PluginConstants.settings_group}/LoSNoTarget"

with QSignalBlocker(self._observer_offset):
self._observer_offset.setValue(
settings.value(f"{settings_class}/ObserverOffset", 1.6, type=float, section=QgsSettings.Section.Plugins)
)

with QSignalBlocker(self._min_angle):
self._min_angle.setValue(
settings.value(f"{settings_class}/MinAngle", 0, type=float, section=QgsSettings.Section.Plugins)
Expand Down

0 comments on commit 153ca4a

Please sign in to comment.