Add production bathymetric sonar slice
This commit is contained in:
1 parent
a18e82eb44
commit
7613daee84
28 files changed
+1825
-87
No files matched your search
@@ -0,0 +1,48 @@
|
||||
class_name SonarCaptureRequest
|
||||
extends RefCounted
|
||||
|
||||
var scan_id: StringName
|
||||
var session_id: StringName
|
||||
var sensor_transform: Transform3D
|
||||
var minimum_range_m: float
|
||||
var maximum_range_m: float
|
||||
var horizontal_opening_radians: float
|
||||
var vertical_opening_radians: float
|
||||
var columns: int
|
||||
var rows: int
|
||||
|
||||
|
||||
func _init(
|
||||
p_scan_id: StringName,
|
||||
p_session_id: StringName,
|
||||
p_sensor_transform: Transform3D,
|
||||
p_minimum_range_m: float,
|
||||
p_maximum_range_m: float,
|
||||
p_horizontal_opening_radians: float,
|
||||
p_vertical_opening_radians: float,
|
||||
p_columns: int,
|
||||
p_rows: int
|
||||
) -> void:
|
||||
scan_id = p_scan_id
|
||||
session_id = p_session_id
|
||||
sensor_transform = p_sensor_transform
|
||||
minimum_range_m = p_minimum_range_m
|
||||
maximum_range_m = p_maximum_range_m
|
||||
horizontal_opening_radians = p_horizontal_opening_radians
|
||||
vertical_opening_radians = p_vertical_opening_radians
|
||||
columns = p_columns
|
||||
rows = p_rows
|
||||
|
||||
|
||||
func validation_error() -> String:
|
||||
if scan_id.is_empty() or session_id.is_empty():
|
||||
return "sonar capture identifiers must not be empty"
|
||||
if minimum_range_m < 0.0 or maximum_range_m <= minimum_range_m:
|
||||
return "sonar capture range is invalid"
|
||||
if horizontal_opening_radians <= 0.0 or horizontal_opening_radians >= PI:
|
||||
return "sonar capture horizontal opening is invalid"
|
||||
if vertical_opening_radians <= 0.0 or vertical_opening_radians >= PI:
|
||||
return "sonar capture vertical opening is invalid"
|
||||
if columns < 2 or rows < 2:
|
||||
return "sonar capture dimensions must be at least 2 by 2"
|
||||
return ""
|
||||
Reference in new issue
Block a user