Trait autd3::derive::DatagramS

source ·
pub trait DatagramS {
    type G: OperationGenerator;

    // Required methods
    fn operation_generator_with_segment(
        self,
        geometry: &Geometry,
        segment: Segment,
        transition: bool,
    ) -> Result<Self::G, AUTDInternalError>;
    fn trace(&self, geometry: &Geometry);

    // Provided methods
    fn timeout(&self) -> Option<Duration> { ... }
    fn parallel_threshold(&self) -> Option<usize> { ... }
}

Required Associated Types§

Required Methods§

source

fn operation_generator_with_segment( self, geometry: &Geometry, segment: Segment, transition: bool, ) -> Result<Self::G, AUTDInternalError>

source

fn trace(&self, geometry: &Geometry)

Provided Methods§

Implementations on Foreign Types§

source§

impl<'a> DatagramS for Box<dyn Gain + Send + Sync + 'a>

§

type G = GainOperationGenerator<Box<dyn Gain + Send + Sync + 'a>>

source§

fn operation_generator_with_segment( self, geometry: &Geometry, segment: Segment, transition: bool, ) -> Result<<Box<dyn Gain + Send + Sync + 'a> as DatagramS>::G, AUTDInternalError>

source§

fn trace(&self, geometry: &Geometry)

Implementors§

source§

impl DatagramS for Bessel

source§

impl DatagramS for Focus

source§

impl DatagramS for Null

source§

impl DatagramS for Plane

source§

impl DatagramS for Uniform

source§

impl<D: Into<Drive>, FT: Fn(&Transducer) -> D + Send + Sync + 'static, F: Fn(&Device) -> FT + 'static> DatagramS for Custom<D, FT, F>

source§

impl<G> DatagramS for Cache<G>
where G: Gain,

source§

impl<G, D, FT, F> DatagramS for Transform<G, D, FT, F>
where G: Gain, D: Into<Drive>, FT: Fn(&Transducer, Drive) -> D + Send + Sync + 'static, F: Fn(&Device) -> FT,

§

type G = GainOperationGenerator<Transform<G, D, FT, F>>

source§

impl<K, FK, F> DatagramS for Group<K, FK, F>
where K: Hash + Eq + Clone + Debug + Send + Sync, FK: Fn(&Transducer) -> Option<K> + Send + Sync, F: Fn(&Device) -> FK + Send + Sync,

§

type G = GainOperationGenerator<Group<K, FK, F>>