Have divedatapoint store cylinder id instead of gasmix

Determining the correct cylinder index from a known gas mix can be
complicated, but it is trivial to look up the gasmix from the cylinder_t
structure.

It makes sense to remember which cylinder is being used. This simplifies
handling changing a cylinder's gas mix, either directly by the user, or
indirectly in the planner. It also permits tracking of multiple cylinders of
the same mix, e.g. independent twins / sidemount.

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Rick Walsh 2016-07-06 22:40:28 +10:00 committed by Dirk Hohndel
parent 066f79223c
commit b1ed04a7f4
11 changed files with 98 additions and 142 deletions

View file

@ -1215,9 +1215,10 @@ QString get_gas_string(struct gasmix gas)
return result;
}
QString get_divepoint_gas_string(const divedatapoint &p)
QString get_divepoint_gas_string(struct dive *d, const divedatapoint &p)
{
return get_gas_string(p.gasmix);
int idx = p.cylinderid;
return get_gas_string(d->cylinder[idx].gasmix);
}
weight_t string_to_weight(const char *str)