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", so this trait is not object safe.