DispersionData

Enum DispersionData 

Source
pub enum DispersionData {
    TabulatedK {
        data: Vec<[f64; 2]>,
    },
    TabulatedN {
        data: Vec<[f64; 2]>,
    },
    TabulatedNK {
        data: Vec<[f64; 3]>,
    },
    Formula1 {
        wavelength_range: [f64; 2],
        c: Vec<f64>,
    },
    Formula2 {
        wavelength_range: [f64; 2],
        c: Vec<f64>,
    },
    Formula3 {
        wavelength_range: [f64; 2],
        c: Vec<f64>,
    },
    Formula4 {
        wavelength_range: [f64; 2],
        c: Vec<f64>,
    },
    Formula5 {
        wavelength_range: [f64; 2],
        c: Vec<f64>,
    },
    Formula6 {
        wavelength_range: [f64; 2],
        c: Vec<f64>,
    },
    Formula7 {
        wavelength_range: [f64; 2],
        c: Vec<f64>,
    },
    Formula8 {
        wavelength_range: [f64; 2],
        c: Vec<f64>,
    },
    Formula9 {
        wavelength_range: [f64; 2],
        c: Vec<f64>,
    },
}
Expand description

The refractive index data associated with a material.

Variants§

§

TabulatedK

Fields

§data: Vec<[f64; 2]>
§

TabulatedN

Fields

§data: Vec<[f64; 2]>
§

TabulatedNK

Fields

§data: Vec<[f64; 3]>
§

Formula1

The Sellmeier formula.

Fields

§wavelength_range: [f64; 2]
§

Formula2

The Sellmeier-2 formula.

Fields

§wavelength_range: [f64; 2]
§

Formula3

Polynomial

Fields

§wavelength_range: [f64; 2]
§

Formula4

RefractiveIndex.INFO

Fields

§wavelength_range: [f64; 2]
§

Formula5

Cauchy

Fields

§wavelength_range: [f64; 2]
§

Formula6

Gases

Fields

§wavelength_range: [f64; 2]
§

Formula7

Herzberger

Fields

§wavelength_range: [f64; 2]
§

Formula8

Retro

Fields

§wavelength_range: [f64; 2]
§

Formula9

Exotic

Fields

§wavelength_range: [f64; 2]

Implementations§

Source§

impl DispersionData

Source

pub fn interpolate(&self, wavelength: f64) -> Result<(f64, Option<f64>)>

Computes the value of the dispersion curve at the given wavelength.

§Arguments
  • wavelength: The wavelength at which to evaluate the dispersion curve.
§Returns

The value of the dispersion curve at the given wavelength. The first value is the real part of the refractive index, and the second value is the imaginary part of the refractive index.

§Errors
  • If the wavelength is outside the range of dispersion data.

Trait Implementations§

Source§

impl Debug for DispersionData

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for DispersionData

Source§

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 Serialize for DispersionData

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. 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.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,