pub trait Gain: GainAsAny {
    // Required method
    fn calc(
        &self,
        geometry: &Geometry,
        filter: GainFilter<'_>
    ) -> Result<HashMap<usize, Vec<Drive>>, AUTDInternalError>;

    // Provided method
    fn transform<F: Fn(&Device, &Transducer) -> Drive + Sync + Send>(
        geometry: &Geometry,
        filter: GainFilter<'_>,
        f: F
    ) -> HashMap<usize, Vec<Drive>>
       where Self: Sized { ... }
}
Expand description

Gain controls amplitude and phase of each transducer.

Required Methods§

source

fn calc( &self, geometry: &Geometry, filter: GainFilter<'_> ) -> Result<HashMap<usize, Vec<Drive>>, AUTDInternalError>

Provided Methods§

source

fn transform<F: Fn(&Device, &Transducer) -> Drive + Sync + Send>( geometry: &Geometry, filter: GainFilter<'_>, f: F ) -> HashMap<usize, Vec<Drive>>where Self: Sized,

Trait Implementations§

source§

impl<'a> Gain for Box<dyn Gain + 'a>

source§

fn calc( &self, geometry: &Geometry, filter: GainFilter<'_> ) -> Result<HashMap<usize, Vec<Drive>>, AUTDInternalError>

source§

fn transform<F: Fn(&Device, &Transducer) -> Drive + Sync + Send>( geometry: &Geometry, filter: GainFilter<'_>, f: F ) -> HashMap<usize, Vec<Drive>>where Self: Sized,

source§

impl<'a> GainAsAny for Box<dyn Gain + 'a>

source§

fn as_any(&self) -> &dyn Any

Implementations on Foreign Types§

source§

impl<'a> Gain for Box<dyn Gain + 'a>

source§

fn calc( &self, geometry: &Geometry, filter: GainFilter<'_> ) -> Result<HashMap<usize, Vec<Drive>>, AUTDInternalError>

Implementors§