ParaxialView

Struct ParaxialView 

Source
pub struct ParaxialView { /* private fields */ }
Expand description

A paraxial view into an optical system.

A paraxial view is a set of paraxial subviews that describe the first order properties of an optical system, such as the entrance and exit pupils, the back and front focal distances, and the effective focal length.

Subviews are indexed by a pair of submodel IDs.

Implementations§

Source§

impl ParaxialView

Source

pub fn new( sequential_model: &SequentialModel, field_specs: &[FieldSpec], is_obj_space_telecentric: bool, ) -> Result<Self>

Creates a new ParaxialView of a SequentialModel.

§Arguments
  • sequential_model - The sequential model to create a paraxial view of.
  • field_specs - The field specs of the optical system. These are necessary to compute parameters such as the chief ray.
  • is_obj_space_telecentric - Whether the object space is telecentric. This forces the chief ray to be parallel to the optic axis.
§Returns

A new ParaxialView.

Source

pub fn describe(&self) -> ParaxialViewDescription

Returns a description of the paraxial view.

This is used primarily for serialization of data for export.

§Returns

A description of the paraxial view.

Source

pub fn subviews(&self) -> &HashMap<SubModelID, ParaxialSubView>

Returns the subviews of the paraxial view.

Each subview corresponds to a submodel of the sequential model.

§Returns

The subviews of the paraxial view.

Trait Implementations§

Source§

impl Debug for ParaxialView

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.