pub trait Operation<T: Transducer> {
    // Required methods
    fn init(&mut self, geometry: &Geometry<T>) -> Result<(), AUTDInternalError>;
    fn required_size(&self, device: &Device<T>) -> usize;
    fn pack(
        &mut self,
        device: &Device<T>,
        tx: &mut [u8]
    ) -> Result<usize, AUTDInternalError>;
    fn commit(&mut self, device: &Device<T>);
    fn remains(&self, device: &Device<T>) -> usize;
}

Required Methods§

source

fn init(&mut self, geometry: &Geometry<T>) -> Result<(), AUTDInternalError>

source

fn required_size(&self, device: &Device<T>) -> usize

source

fn pack( &mut self, device: &Device<T>, tx: &mut [u8] ) -> Result<usize, AUTDInternalError>

source

fn commit(&mut self, device: &Device<T>)

source

fn remains(&self, device: &Device<T>) -> usize

Trait Implementations§

source§

impl<T: Transducer> Operation<T> for Box<dyn Operation<T>>

source§

fn init(&mut self, geometry: &Geometry<T>) -> Result<(), AUTDInternalError>

source§

fn required_size(&self, device: &Device<T>) -> usize

source§

fn pack( &mut self, device: &Device<T>, tx: &mut [u8] ) -> Result<usize, AUTDInternalError>

source§

fn commit(&mut self, device: &Device<T>)

source§

fn remains(&self, device: &Device<T>) -> usize

Implementations on Foreign Types§

source§

impl<T: Transducer> Operation<T> for Box<dyn Operation<T>>

source§

fn init(&mut self, geometry: &Geometry<T>) -> Result<(), AUTDInternalError>

source§

fn required_size(&self, device: &Device<T>) -> usize

source§

fn pack( &mut self, device: &Device<T>, tx: &mut [u8] ) -> Result<usize, AUTDInternalError>

source§

fn commit(&mut self, device: &Device<T>)

source§

fn remains(&self, device: &Device<T>) -> usize

Implementors§