mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-27 20:58:47 +00:00
Standardised how divedatapoints are created.
Changed the way dive data points for OC cylinders to be added to the dive plan are created in `createTemporaryPlan()` in `diveplannermodel.cpp`. This now uses `plan_add_segment()` like all other places where dive data points are added, in particular the planner tests. This also allowed for `create_dp()` to be made static. Signed-off-by: Michael Keller <github@ike.ch>
This commit is contained in:
parent
ec0c6833a0
commit
ab7b9329c0
3 changed files with 9 additions and 16 deletions
|
@ -339,7 +339,7 @@ void free_dps(struct diveplan *diveplan)
|
|||
diveplan->dp = NULL;
|
||||
}
|
||||
|
||||
struct divedatapoint *create_dp(int time_incr, int depth, int cylinderid, int po2)
|
||||
static struct divedatapoint *create_dp(int time_incr, int depth, int cylinderid, int po2)
|
||||
{
|
||||
struct divedatapoint *dp;
|
||||
|
||||
|
|
|
@ -51,7 +51,6 @@ extern char *get_planner_disclaimer_formatted();
|
|||
extern void free_dps(struct diveplan *diveplan);
|
||||
|
||||
struct divedatapoint *plan_add_segment(struct diveplan *diveplan, int duration, int depth, int cylinderid, int po2, bool entered, enum divemode_t divemode);
|
||||
struct divedatapoint *create_dp(int time_incr, int depth, int cylinderid, int po2);
|
||||
#if DEBUG_PLAN
|
||||
void dump_plan(struct diveplan *diveplan);
|
||||
#endif
|
||||
|
|
|
@ -1025,6 +1025,14 @@ void DivePlannerPointsModel::createTemporaryPlan()
|
|||
{
|
||||
// Get the user-input and calculate the dive info
|
||||
free_dps(&diveplan);
|
||||
|
||||
for (int i = 0; i < d->cylinders.nr; i++) {
|
||||
cylinder_t *cyl = get_cylinder(d, i);
|
||||
if (cyl->depth.mm && cyl->cylinder_use == OC_GAS) {
|
||||
plan_add_segment(&diveplan, 0, cyl->depth.mm, i, 0, false, OC);
|
||||
}
|
||||
}
|
||||
|
||||
int lastIndex = -1;
|
||||
for (int i = 0; i < rowCount(); i++) {
|
||||
divedatapoint p = at(i);
|
||||
|
@ -1039,20 +1047,6 @@ void DivePlannerPointsModel::createTemporaryPlan()
|
|||
plan_add_segment(&diveplan, deltaT, p.depth.mm, p.cylinderid, p.setpoint, true, p.divemode);
|
||||
}
|
||||
|
||||
struct divedatapoint *dp = NULL;
|
||||
for (int i = 0; i < d->cylinders.nr; i++) {
|
||||
cylinder_t *cyl = get_cylinder(d, i);
|
||||
if (cyl->depth.mm && cyl->cylinder_use == OC_GAS) {
|
||||
dp = create_dp(0, cyl->depth.mm, i, 0);
|
||||
if (diveplan.dp) {
|
||||
dp->next = diveplan.dp;
|
||||
diveplan.dp = dp;
|
||||
} else {
|
||||
dp->next = NULL;
|
||||
diveplan.dp = dp;
|
||||
}
|
||||
}
|
||||
}
|
||||
#if DEBUG_PLAN
|
||||
dump_plan(&diveplan);
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue