Fix profile and average depth for freedives

Freedives can easily exceed the assumed ascent/descent rate, which
results in wacky dive profiles.  Add a check to make the ascent and
descent fit within the duration of the dive.
This commit is contained in:
Mikko Rasa 2012-08-29 19:10:26 +03:00
parent 9d46581913
commit d6b50e30e4
2 changed files with 7 additions and 4 deletions

View file

@ -1387,6 +1387,8 @@ void plot(struct graphics_context *gc, cairo_rectangle_int_t *drawing_area, stru
int duration = dive->duration.seconds;
int maxdepth = dive->maxdepth.mm;
int asc_desc_time = dive->maxdepth.mm*60/9000;
if (asc_desc_time * 2 >= duration)
asc_desc_time = duration / 2;
sample = fake;
fake[1].time.seconds = asc_desc_time;
fake[1].depth.mm = maxdepth;