subsurface/profile.h
Tomaz Canabrava f269f86496 Plot of the Mean Deph
The mean depth now is plotted correctly.
I wanted to do more stuff on this commit, but since
it required that a few things on profile.c got moved
to profile.h, commited to not have a huge blob for review.

Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2013-05-04 19:55:16 -07:00

66 lines
1.5 KiB
C

#ifndef PROFILE_H
#define PROFILE_H
#ifdef __cplusplus
extern "C" {
#else
#if __STDC_VERSION__ >= 199901L
#include <stdbool.h>
#else
typedef int bool;
#endif
#endif
#include "dive.h"
typedef enum { STABLE, SLOW, MODERATE, FAST, CRAZY } velocity_t;
struct divecomputer;
struct graphics_context;
struct plot_info;
struct plot_data {
unsigned int in_deco:1;
unsigned int cylinderindex;
int sec;
/* pressure[0] is sensor pressure
* pressure[1] is interpolated pressure */
int pressure[2];
int temperature;
/* Depth info */
int depth;
int ceiling;
int ndl;
int stoptime;
int stopdepth;
int cns;
int smoothed;
double po2, pn2, phe;
double mod, ead, end, eadd;
velocity_t velocity;
struct plot_data *min[3];
struct plot_data *max[3];
int avg[3];
};
void calculate_max_limits(struct dive *dive, struct divecomputer *dc, struct graphics_context *gc);
struct plot_info *create_plot_info(struct dive *dive, struct divecomputer *dc, struct graphics_context *gc);
/*
* When showing dive profiles, we scale things to the
* current dive. However, we don't scale past less than
* 30 minutes or 90 ft, just so that small dives show
* up as such unless zoom is enabled.
* We also need to add 180 seconds at the end so the min/max
* plots correctly
*/
int get_maxtime(struct plot_info *pi);
/* get the maximum depth to which we want to plot
* take into account the additional verical space needed to plot
* partial pressure graphs */
int get_maxdepth(struct plot_info *pi);
#ifdef __cplusplus
}
#endif
#endif