Commit Graph

14 Commits

Author SHA1 Message Date
Mark Liversedge
8569f812a6 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
391fc7b9c9 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
dbb8429665 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
e2deb1fc99 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
16f3032b3f 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
075829500f remove eol spaces -- no functional change 2010-01-18 11:32:07 -08:00
Mark Liversedge
32b94d954f 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
890151a696 stop using global pointer, remove const cast 2009-12-13 12:34:32 -05:00
Sean Rhea
c940517690 use more const 2009-12-12 22:07:53 -05:00
Sean Rhea
8f6237c5f6 don't need to call "return;" at end of function 2009-12-12 22:02:59 -05:00
Mark Liversedge
29a9e41444 Interval features and new GC file format 2009-12-12 11:41:35 -05:00
Sean Rhea
522824bb40 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
f0c2fbf946 fix secs range in best intervals 2009-09-12 21:11:50 -04:00
Sean C. Rhea
6e5487ca39 everything in one directory 2008-05-12 03:28:53 +00:00