Changeset 1d86620 in subsurface


Ignore:
Timestamp:
Feb 2, 2017, 12:37:24 PM (8 weeks ago)
Author:
Dirk Hohndel <dirk@…>
Branches:
master
Children:
a1c5125
Parents:
a031dbb
git-author:
Robert C. Helling <helling@…> (02/02/17 11:29:44)
git-committer:
Dirk Hohndel <dirk@…> (02/02/17 12:37:24)
Message:

In statistics, ignore gas use of planned dives

When merged with real dives, those would double count otherwise.

Signed-off-by: Robert C. Helling <helling@…>

Files:
8 edited

Legend:

Unmodified
Added
Removed
  • core/dive.c

    ra031dbb r1d86620  
    583583        }
    584584        for (i = j = 0; i < MAX_CYLINDERS; i++) {
    585                 if (!used_only || is_cylinder_used(s, i)) {
     585                if (!used_only || is_cylinder_used(s, i, false)) {
    586586                        d->cylinder[j].type = s->cylinder[i].type;
    587587                        d->cylinder[j].type.description = copy_string(s->cylinder[i].type.description);
     
    20512051                int j=0;
    20522052                for (i = 0; i < MAX_CYLINDERS && j < MAX_CYLINDERS; i++) {
    2053                         if (is_cylinder_used(res, i))
     2053                        if (is_cylinder_used(res, i, false))
    20542054                                continue;
    20552055
    2056                         while (!is_cylinder_used(b, j) && j < MAX_CYLINDERS - 1) {
     2056                        while (!is_cylinder_used(b, j, false) && j < MAX_CYLINDERS - 1) {
    20572057                                mapping[j] = 0;
    20582058                                ++j;
  • core/dive.h

    ra031dbb r1d86620  
    772772extern void copy_cylinders(struct dive *s, struct dive *d, bool used_only);
    773773extern void copy_samples(struct divecomputer *s, struct divecomputer *d);
    774 extern bool is_cylinder_used(struct dive *dive, int idx);
     774extern bool is_cylinder_used(struct dive *dive, int idx, bool ignore_planned);
    775775extern void fill_default_cylinder(cylinder_t *cyl);
    776776extern void add_gas_switch_event(struct dive *dive, struct divecomputer *dc, int time, int idx);
  • core/divelist.c

    rbb86d13 r1d86620  
    120120                int he = get_he(&cyl->gasmix);
    121121
    122                 if (!is_cylinder_used(dive, i))
     122                if (!is_cylinder_used(dive, i, false))
    123123                        continue;
    124124                if (cylinder_none(cyl))
  • core/statistics.c

    r20e211d r1d86620  
    327327#define SOME_GAS 5000 // 5bar drop in cylinder pressure makes cylinder used
    328328
    329 bool is_cylinder_used(struct dive *dive, int idx)
     329bool is_cylinder_used(struct dive *dive, int idx, bool ignore_plannned)
    330330{
    331331        struct divecomputer *dc;
     
    334334                return false;
    335335
    336         if ((dive->cylinder[idx].start.mbar - dive->cylinder[idx].end.mbar) > SOME_GAS)
     336        if ((dive->cylinder[idx].start.mbar - dive->cylinder[idx].end.mbar) > SOME_GAS && !ignore_plannned)
    337337                return true;
    338338        for_each_dc(dive, dc) {
     339                if (ignore_plannned && !strcmp(dc->model, "planned dive"))
     340                        continue;
    339341                struct event *event = get_next_event(dc->events, "gaschange");
    340342                while (event) {
     
    361363                pressure_t start, end;
    362364
    363                 if (!is_cylinder_used(dive, idx))
     365                if (!is_cylinder_used(dive, idx, true))
    364366                        continue;
    365367
  • core/subsurface-qt/DiveObjectHelper.cpp

    rb15b3c1 r1d86620  
    187187        QString gas, gases;
    188188        for (int i = 0; i < MAX_CYLINDERS; i++) {
    189                 if (!is_cylinder_used(m_dive, i))
     189                if (!is_cylinder_used(m_dive, i, false))
    190190                        continue;
    191191                gas = m_dive->cylinder[i].type.description;
  • desktop-widgets/divelogexportdialog.cpp

    rc8c4f8f r1d86620  
    278278
    279279                for (i = 0; i < MAX_CYLINDERS; i++)
    280                         if (is_cylinder_used(dive, i))
     280                        if (is_cylinder_used(dive, i, false))
    281281                                delta_p.mbar += dive->cylinder[i].start.mbar - dive->cylinder[i].end.mbar;
    282282
  • desktop-widgets/maintab.cpp

    r56ed3f1 r1d86620  
    595595                gaslist = ""; SACs = ""; volumes = ""; separator = "";
    596596                for (int i = 0; i < MAX_CYLINDERS; i++) {
    597                         if (!is_cylinder_used(&displayed_dive, i))
     597                        if (!is_cylinder_used(&displayed_dive, i, false))
    598598                                continue;
    599599                        gaslist.append(separator); volumes.append(separator); SACs.append(separator);
  • qt-models/cylindermodel.cpp

    rc1dc0c9 r1d86620  
    452452                if (!cylinder_none(&displayed_dive.cylinder[i]) &&
    453453                                (prefs.display_unused_tanks ||
    454                                  is_cylinder_used(&displayed_dive, i) ||
     454                                 is_cylinder_used(&displayed_dive, i, false) ||
    455455                                 displayed_dive.cylinder[i].manually_added))
    456456                        rows = i + 1;
     
    469469        for (int i = 0; i < MAX_CYLINDERS; i++) {
    470470                if (!cylinder_none(&d->cylinder[i]) &&
    471                                 (is_cylinder_used(d, i) || prefs.display_unused_tanks)) {
     471                                (is_cylinder_used(d, i, false) || prefs.display_unused_tanks)) {
    472472                        rows = i + 1;
    473473                }
     
    518518                                DivePlannerPointsModel::instance()->tankInUse(index.row())) ||
    519519                        (DivePlannerPointsModel::instance()->currentMode() == DivePlannerPointsModel::NOTHING &&
    520                                 is_cylinder_used(&displayed_dive, index.row())))) {
     520                                is_cylinder_used(&displayed_dive, index.row(), false)))) {
    521521                                emit warningMessage(TITLE_OR_TEXT(
    522522                                                                                                                        tr("Cylinder cannot be removed"),
Note: See TracChangeset for help on using the changeset viewer.