pub struct SequentialModel { /* private fields */ }Expand description
A collection of submodels for sequential ray tracing.
Implementations§
source§impl SequentialModel
impl SequentialModel
sourcepub fn new(
gap_specs: &[GapSpec],
surface_specs: &[SurfaceSpec],
wavelengths: &[f64],
) -> Result<Self>
pub fn new( gap_specs: &[GapSpec], surface_specs: &[SurfaceSpec], wavelengths: &[f64], ) -> Result<Self>
Creates a new sequential model of an optical system.
pub fn surfaces(&self) -> &[Surface]
pub fn submodels(&self) -> &HashMap<SubModelID, impl SequentialSubModel>
sourcepub fn largest_semi_diameter(&self) -> f64
pub fn largest_semi_diameter(&self) -> f64
Returns the largest semi-diameter of any surface in the system.
This ignores surfaces without any size, such as object, probe, and image surfaces.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SequentialModel
impl RefUnwindSafe for SequentialModel
impl Send for SequentialModel
impl Sync for SequentialModel
impl Unpin for SequentialModel
impl UnwindSafe for SequentialModel
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