pub struct FfiVesselState {
pub position: FfiPosition,
pub predictor_end: FfiPosition,
pub heading_line_end: Option<FfiPosition>,
pub cog_deg: f64,
pub sog_kn: f64,
pub heading_deg: Option<f64>,
}Expand description
What a client draws about own ship at one instant.
predictor_end/heading_line_end are computed once here, via
VesselState’s own methods, rather than left for a client to derive
– the whole reason this computation lives in nav-math rather than here.
This shape is not incidental: it is exactly what a chart bridge –
each client’s own module for it, on whichever platform – already
expects to send onward.
Fields§
§position: FfiPositionWhere the vessel is.
predictor_end: FfiPositionThe far end of the course predictor.
heading_line_end: Option<FfiPosition>The far end of the heading line, when the vessel has a compass.
cog_deg: f64Course over ground, degrees true.
sog_kn: f64Speed over ground, knots.
heading_deg: Option<f64>Heading, degrees true, when the vessel has a compass.
Trait Implementations§
Source§impl<UT> ConvertError<UT> for FfiVesselState
impl<UT> ConvertError<UT> for FfiVesselState
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl<UT> FfiConverter<UT> for FfiVesselState
impl<UT> FfiConverter<UT> for FfiVesselState
Source§const TYPE_ID_META: MetadataBuffer
const TYPE_ID_META: MetadataBuffer
Type ID metadata, serialized into a [MetadataBuffer].
Source§type FfiType = RustBuffer
type FfiType = RustBuffer
The low-level type used for passing values of this type over the FFI. Read more
Source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
Lower a rust value of the target type, into an FFI value of type Self::FfiType. Read more
Source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
Lift a rust value of the target type, from an FFI value of type Self::FfiType. Read more
Source§impl From<VesselState> for FfiVesselState
impl From<VesselState> for FfiVesselState
Source§fn from(state: VesselState) -> Self
fn from(state: VesselState) -> Self
Converts to this type from the input type.
Source§impl<UT> Lift<UT> for FfiVesselState
impl<UT> Lift<UT> for FfiVesselState
Source§impl<UT> LiftRef<UT> for FfiVesselState
impl<UT> LiftRef<UT> for FfiVesselState
type LiftType = FfiVesselState
Source§impl<UT> LiftReturn<UT> for FfiVesselState
impl<UT> LiftReturn<UT> for FfiVesselState
Source§type ReturnType = <FfiVesselState as Lift<UT>>::FfiType
type ReturnType = <FfiVesselState as Lift<UT>>::FfiType
FFI return type for trait interfaces
Source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
Lift a successfully returned value from a trait interface
§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
Lift a foreign returned value from a trait interface Read more
§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
Lift a Rust value for a callback interface method error result Read more
§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
Lift a Rust value for an unexpected callback interface error Read more
Source§impl<UT> Lower<UT> for FfiVesselState
impl<UT> Lower<UT> for FfiVesselState
Source§impl<UT> LowerError<UT> for FfiVesselState
impl<UT> LowerError<UT> for FfiVesselState
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Lower this value for scaffolding function return Read more
Source§impl<UT> LowerReturn<UT> for FfiVesselState
impl<UT> LowerReturn<UT> for FfiVesselState
Source§type ReturnType = <FfiVesselState as Lower<UT>>::FfiType
type ReturnType = <FfiVesselState as Lower<UT>>::FfiType
The type that should be returned by scaffolding functions for this type. Read more
Source§fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
Lower the return value from an scaffolding call Read more
§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Lower the return value for failed argument lifts Read more
Source§impl<UT> TypeId<UT> for FfiVesselState
impl<UT> TypeId<UT> for FfiVesselState
const TYPE_ID_META: MetadataBuffer
Auto Trait Implementations§
impl Freeze for FfiVesselState
impl RefUnwindSafe for FfiVesselState
impl Send for FfiVesselState
impl Sync for FfiVesselState
impl Unpin for FfiVesselState
impl UnsafeUnpin for FfiVesselState
impl UnwindSafe for FfiVesselState
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
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
Create a new handle for an Arc value Read more
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
Clone a handle Read more
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Consume a handle, getting back the initial
Arc<> Read moreSource§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 more