pub struct SpaceNavigationSystem<T: AstronomicalDataProvider> {
pub planner: NavigationPlanner<T>,
pub data_provider: Arc<T>,
}Expand description
Navigation system for interplanetary travel calculations
Fields§
§planner: NavigationPlanner<T>§data_provider: Arc<T>Implementations§
Sourcepub fn new(data_provider: T) -> Self
pub fn new(data_provider: T) -> Self
Create a new space navigation system with the given data provider
Sourcepub fn set_position_local(
&mut self,
container_name: &str,
local_x: f64,
local_y: f64,
local_z: f64,
)
pub fn set_position_local( &mut self, container_name: &str, local_x: f64, local_y: f64, local_z: f64, )
Set current position using local coordinates relative to an object container
Sourcepub fn update_position(&mut self, x: f64, y: f64, z: f64)
pub fn update_position(&mut self, x: f64, y: f64, z: f64)
Update position with absolute coordinates
Plan navigation to a destination
Format navigation plan as human-readable instructions
Sourcepub fn find_nearby_pois(&self, limit: usize) -> Vec<NamedDistance>
pub fn find_nearby_pois(&self, limit: usize) -> Vec<NamedDistance>
Find nearby points of interest
Plan navigation to specific coordinates, either global or relative to a container
Sourcepub fn get_current_solar_system(&self, plan: Option<&NavigationPlan>) -> System
pub fn get_current_solar_system(&self, plan: Option<&NavigationPlan>) -> System
Determine current solar system
Sourcepub fn get_current_position(&self) -> Option<Vector3>
pub fn get_current_position(&self) -> Option<Vector3>
Get the current position if available
Sourcepub fn get_current_object_container(&self) -> Option<ObjectContainer>
pub fn get_current_object_container(&self) -> Option<ObjectContainer>
Get the current object container (planet/moon/station) if available
Sourcepub fn find_nearby_pois_in_radius(&self, radius: f64) -> Vec<NamedDistance>
pub fn find_nearby_pois_in_radius(&self, radius: f64) -> Vec<NamedDistance>
Find nearby points of interest within a specific radius
Auto Trait Implementations§
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