[][src]Trait capra_core::deco::deco_algorithm::DecoAlgorithm

pub trait DecoAlgorithm: Copy + Clone + Debug {
    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; fn get_stops(
        &self,
        ascent_rate: isize,
        descent_rate: isize,
        gas: &Gas,
        metres_per_bar: f64
    ) -> Vec<DiveSegment> { ... } }

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

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.

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 stops
  • descent_rate - Ascent rate to use during stops

fn get_tissue(&self) -> Tissue

Get the tissue loadings of the model

Loading content...

Provided methods

fn get_stops(
    &self,
    ascent_rate: isize,
    descent_rate: isize,
    gas: &Gas,
    metres_per_bar: f64
) -> Vec<DiveSegment>

Get the decompression stops required to surface the model. This is identical to surface but it does not modify the original model in any way.

Loading content...

Implementors

impl DecoAlgorithm for ZHL16[src]

Loading content...