Commit Graph

23 Commits

Author SHA1 Message Date
Mark Liversedge
a3ae770965 Find Matches as Intervals
Now let the user add 'match' intervals in
the find intervals dialog by setting a minimum
cost for the match.
2013-11-11 17:53:58 +00:00
Mark Liversedge
77278b2ed1 A lot less assert
There still some assert left in the code, but removed
a fair number of the examples where, its just as easy
to handle the condition gracefully, without crashing.

By 3.1 we will have eradicated assert from the code.
2013-08-04 11:06:07 +01:00
Mark Liversedge
8df5cf8778 A little less MainWindow.h
.. slowy removing it everywhere.
2013-07-18 09:37:32 +01:00
Mark Liversedge
47814846d9 MainWindow Refactor Part 3 of 5
Slowly migrating code  and data from the MainWindow
class to Athlete and Context classes.

This update moves the ride and interval lists and
data structures from MainWindow to Athlete.
2013-07-13 19:46:03 +01:00
Mark Liversedge
0fcbbe1b77 Refactor MainWindow Part 2 of 5
Decoupled classes from MainWindow to reference Context
and Athlete (and introduced a couple of new headers).

We no longer pass around a MainWindow pointer to children
but pass a context instead.

There are still a few pieces left in MainWindow that need
to move to a better place;
    * Setting/clearing filter selection
    * Working with Intervals
    * Adding/Deleting Rides
    * Save on Exit

As mentioned previously there are lots of other parts to
this refactor left to do;
    * break MainWindow Gui elements into Toolbar and Views

    * migrate from RideItem and Ridelist to ActivityCollection
      and Activity classes that are not tied into gui elements.

    * introduce Application Context and AthleteCollection
2013-07-11 14:02:02 +01:00
Mark Liversedge
c56c5a9567 MainWindow Refactor Part 1 of 5
Breaking the MainWindow 'god object' into
separate classes for Athlete and Context.

Further updates will need to;
- break MainWindow Gui elements into Toolbar and Views

- migrate from RideItem and Ridelist to ActivityCollection
  and Activity classes that are not tied into gui elements.

- introduce Application Context and AthleteCollection

Once these are done we will be in a position to decouple
most classes from mainwindow and also introduce tabbed
athletes.
2013-07-07 15:50:28 +01:00
Mark Liversedge
c6f6dfec70 Add interval sort function
.. added to the splitter handle context menu

.. also took IntervalItem.h and IntervalTreeView.h from MainWindow.h
   coz I was getting pissed with recompiling everything when changing it.
   Thats why so many other files have been changed in this commit.

Fixes #338.
2013-03-17 21:29:47 +00:00
Damien
3058b3e9c6 Reorganise intervals by drag and drop
The interval view now allows the user to drag and drop intervals
up and down in the list.

We could extend the drag and drop of intervals to support analysis
of segments/intervals from multiple rides in the future too.

Fixes #405.
2012-01-21 21:16:35 +00:00
Mark Liversedge
805e74de5a Inital V3 Branch 2010-12-30 17:35:23 +00:00
Mark Liversedge
8d8908d177 Fix assert crash in BestIntervalDialog.cpp
Removed redundant assert in BestIntervalDialog.cpp. It is redundant
because it is executed prior to a logic check for the same condition.

The assert check has been shown to be unreliable due to inherent
inaccuracies in float arithmetic and comparisons for example, according
to the IEEE specs 1000.2 - 1000.0 will be stored as 0.200012. This
inherent problem with floats is particularly relevant in this
code since it is dealing with interval durations and recording intervals
which are expressed to a precision of 100th or even 1000th of a second.

Fixes #99.
2010-07-06 14:35:13 +01:00
Mark Liversedge
9da6488d53 True Interval Patch, second part
The best interval dialog rounded intervals to the nearest second
due to a casting of a double to int. This was introduced by Mark L
during the intervals code patch and is an error.

All the plots have now been adjusted to correctly determine if a ride
point is within an interval. Related cropping and binning issues in
3d plot an Histogram plot have also been corrected.

fixes #15
2010-01-20 08:28:42 -08:00
Sean Rhea
cc441cc98a fix BestIntervalDialog
The small test file doesn't catch this bug, but just about
any real file does.  Grrr.
2010-01-19 10:55:54 -08:00
Sean Rhea
81b1190f4f extract core functionality into static function
...so that we can use BestIntervalDialog::findBests elsewhere in the code.
2010-01-18 11:54:42 -08:00
Sean Rhea
91f2d662e3 fix fencepost errors in BestIntervalDialog
This is almost a complete rewrite of the functional part of the dialog.
I've tested it on both test files (2010_01_13_*.gc in test/rides).
Thanks to Mark L for pointing out a number of the problems.
2010-01-18 11:34:01 -08:00
Sean Rhea
46ef47d254 remove eol spaces -- no functional change 2010-01-18 11:32:07 -08:00
Mark Liversedge
d85c5dc8b2 add bring to front/send to back to PfPvPlot
Another rightclick menu for intervals, adding a bring to front and send to
back option but only when viewing the pfPvPlot, additionally the algorithm in
PfPv plot for determining which interval a point is used for has been adjusted
to fully populate every interval curve where appropriate (and incorrect
comments and redundant code have been removed).

IntervalItems now have a display sequence number so when you have
overlapping intervals you can bring to front and send to back on the
PfPv plot. The display sequence could be used on other plots if/when
they distinguish between intervals.

Previously, the coloring of intervals on PfPvPlot was determined solely
by the order they were defined which could be quite confusing.
2009-12-22 09:51:02 -05:00
Sean Rhea
e889ac41a6 stop using global pointer, remove const cast 2009-12-13 12:34:32 -05:00
Sean Rhea
f9a29f7816 use more const 2009-12-12 22:07:53 -05:00
Sean Rhea
5a51b55915 don't need to call "return;" at end of function 2009-12-12 22:02:59 -05:00
Mark Liversedge
7663f220a8 Interval features and new GC file format 2009-12-12 11:41:35 -05:00
Sean Rhea
14dc740636 switch RideFile::dataPoints to QVector
...so that we can binary search within them.  Also, switch a lot of
QListIterators to Qt foreach.
2009-11-01 11:51:26 -05:00
Sean Rhea
7875347b8d fix secs range in best intervals 2009-09-12 21:11:50 -04:00
Sean C. Rhea
31b2633496 everything in one directory 2008-05-12 03:28:53 +00:00