pub trait DecoAlgorithm: Copy {
// Required methods
fn add_dive_segment(
&mut self,
segment: &DiveSegment,
gas: &Gas,
metres_per_bar: f64,
);
fn surface(
&mut self,
ascent_rate: isize,
descent_rate: isize,
gas: &Gas,
metres_per_bar: f64,
) -> Vec<DiveSegment>;
fn get_tissue(&self) -> Tissue;
// Provided method
fn get_stops(
&self,
ascent_rate: isize,
descent_rate: isize,
gas: &Gas,
metres_per_bar: f64,
) -> Vec<DiveSegment> { ... }
}Expand description
Trait for decompression models. This trait must be implemented for any custom decompression
algorithms if they are to be used in dive plans with the [DivePlan] trait.
Required Methods§
Sourcefn add_dive_segment(
&mut self,
segment: &DiveSegment,
gas: &Gas,
metres_per_bar: f64,
)
fn add_dive_segment( &mut self, segment: &DiveSegment, gas: &Gas, metres_per_bar: f64, )
Apply a segment to the deco model.
§Arguments
segment- DiveSegment to apply.gas- Gas that is being consumed in this segment.metres_per_bar- Depth of water required to induce 1 bar of pressure.
Sourcefn surface(
&mut self,
ascent_rate: isize,
descent_rate: isize,
gas: &Gas,
metres_per_bar: f64,
) -> Vec<DiveSegment>
fn surface( &mut self, ascent_rate: isize, descent_rate: isize, gas: &Gas, metres_per_bar: f64, ) -> Vec<DiveSegment>
Surface the deco model, returning the mandatory decompression stops / remaining no-decompression time along the way.
§Arguments
ascent_rate- Ascent rate to use during stopsdescent_rate- Ascent rate to use during stops
Sourcefn get_tissue(&self) -> Tissue
fn get_tissue(&self) -> Tissue
Get the tissue loadings of the model
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".