pub struct OperationalBox {
pub id: String,
pub southwest: GeoCoordinate,
pub northeast: GeoCoordinate,
pub min_altitude: f64,
pub max_altitude: f64,
pub name: Option<String>,
}Expand description
Operational box defining geographic bounds for CAP operations
The operational box is a fundamental primitive provided by C2 that defines the geographic area where the autonomous fleet will operate.
Fields§
§id: StringUnique identifier for this operational box
southwest: GeoCoordinateSouthwest corner (minimum lat/lon)
northeast: GeoCoordinateNortheast corner (maximum lat/lon)
min_altitude: f64Minimum altitude (meters)
max_altitude: f64Maximum altitude (meters)
name: Option<String>Optional name/description
Implementations§
Source§impl OperationalBox
impl OperationalBox
Sourcepub fn new(
id: String,
southwest: GeoCoordinate,
northeast: GeoCoordinate,
min_altitude: f64,
max_altitude: f64,
) -> Result<Self, &'static str>
pub fn new( id: String, southwest: GeoCoordinate, northeast: GeoCoordinate, min_altitude: f64, max_altitude: f64, ) -> Result<Self, &'static str>
Create a new operational box from corner coordinates
Sourcepub fn from_center(
id: String,
center: GeoCoordinate,
width_meters: f64,
height_meters: f64,
altitude_range: (f64, f64),
) -> Result<Self, &'static str>
pub fn from_center( id: String, center: GeoCoordinate, width_meters: f64, height_meters: f64, altitude_range: (f64, f64), ) -> Result<Self, &'static str>
Create from center point and dimensions
Sourcepub fn contains(&self, coord: &GeoCoordinate) -> bool
pub fn contains(&self, coord: &GeoCoordinate) -> bool
Check if a coordinate is within the operational box
Sourcepub fn center(&self) -> GeoCoordinate
pub fn center(&self) -> GeoCoordinate
Get the center point of the box
Trait Implementations§
Source§impl Clone for OperationalBox
impl Clone for OperationalBox
Source§fn clone(&self) -> OperationalBox
fn clone(&self) -> OperationalBox
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OperationalBox
impl Debug for OperationalBox
Source§impl<'de> Deserialize<'de> for OperationalBox
impl<'de> Deserialize<'de> for OperationalBox
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for OperationalBox
impl Display for OperationalBox
Auto Trait Implementations§
impl Freeze for OperationalBox
impl RefUnwindSafe for OperationalBox
impl Send for OperationalBox
impl Sync for OperationalBox
impl Unpin for OperationalBox
impl UnsafeUnpin for OperationalBox
impl UnwindSafe for OperationalBox
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.