Commit Graph

116 Commits

Author SHA1 Message Date
Mark Liversedge
80272cff5c Veloclinic Multicomponent Model
.. implementation of the Veloclinic model, or at least
   the first of a few potential models.

.. It may not be correct at this point, but committing
   a checkpoint.
2014-04-26 22:44:05 +01:00
Mark Liversedge
0ff6226f33 Allow Multiple Helper Widgets
.. in GcOverlayWidget.
2014-04-22 09:57:12 +01:00
Damien
84928380bd Add hemoglobin SmO2% and tHb data series (Moxy) 2014-04-19 09:22:06 +02:00
Mark Liversedge
cc70788085 Add Vector/Rotor TE and PS data series
.. Added the torque effectiveness and pedal smoothness
   data series to the RideFile structures.

.. The only file formats that support it at this stage
   are Fit and  GoldenCheetah JSON.

.. As more file formats support it we will add it here.

.. The charts/editor now need to be updated to support
   these new data series.
2014-04-11 13:46:10 +01:00
Mark Liversedge
6eb21699b7 Smaller font on CP widget
.. 16 points was too big !
2014-04-10 22:10:09 +01:00
Mark Liversedge
5bd1d77b93 CP Chart Overlay
.. now has an overlay widget that can contain multiple widgets
   and is user movable and resizable etc

.. we show the model derived values for now, but could add other
   things at a later date (e.g. MU distribution etc).

Fixes #811.
2014-04-08 15:36:24 +01:00
Mark Liversedge
ae3b785531 Move grid to back CPPlot 2014-04-05 20:31:26 +01:00
Mark Liversedge
68c0fbe3f5 CP Chart gets grid back
.. put the grid back on the cp chart, which is less ugly
   now we can set and honour colours for it and the background.
2014-03-30 20:08:14 +01:00
Mark Liversedge
203f2d4b46 Remove CP friend class
.. its a hack, and wasn't really needed

.. also reimplemented getBest() functions since they
   incorreclty assumed that bestsCache would never be NULL
2014-03-26 11:04:49 +00:00
Mark Liversedge
3c490c49a0 CP plot handling empty rides 2014-03-25 16:23:34 +00:00
Mark Liversedge
761c78b3b2 CP Refactor 2 of 3
.. fixup ride mode, interval hover crash/bugs
.. fixup interval compare mode
.. fixup rangemode

NOTE: Compare date ranges is still broken that
      will be fixed in part 3.
2014-03-25 10:49:58 +00:00
Mark Liversedge
59101530c6 Copyright message update for CP chart 2014-03-24 21:39:46 +00:00
Mark Liversedge
67cf487d38 CP Refactor 1 of 3
.. basic ride, bests and model plots all working

.. Compare mode is now BROKEN !

Will fixup the rest tomorrow, needed to checkpoint
the core refactoring work.
2014-03-24 21:30:15 +00:00
Mark Liversedge
d4cff64ff3 CP Code Wash before Refactor
.. the CP plot curve is a terrible mess. Mostly from
   having multiple significant updates from a number
   of notable developers; Sean, Dan, Mark and Damien
   have all made significant contributions.

.. But the code contains lots of 'smells' and is very
   difficult to follow and update

.. this update makes no functional changes but is put
   in place before overhauling the code related to
   "calculating" and plotting the different curves.
2014-03-24 11:08:07 +00:00
Mark Liversedge
ccfaaf3b97 Fix CP chart reveal controls on QT5
.. and also remove the yucky labels on the chart in readiness
   for a CP model widget to overlay and move about the chart.
2014-03-21 12:38:11 +00:00
Mark Liversedge
cfdd32ac64 CP chart now has reveal controls
.. for show heat and show as percentage
2014-03-20 17:27:01 +00:00
Mark Liversedge
8c4ac0abf6 More CP fixups
.. hover curve clear on new ride

.. fix ride plot mode so when plotting ride it always
   does. This was fixed by initialising ridePlotMode in
   the CpintPlot constructor.
2014-03-19 18:20:56 +00:00
Mark Liversedge
e226083efc More CP plot fixups
.. allplot color fixed when not a rainbow curve

.. fix SEGV index bounds check off by one

.. hover curve z-order to top
2014-03-19 17:52:40 +00:00
Mark Liversedge
06bf617c69 CP pointHover fixup
.. bounds checking on array index
.. set curve grey not white!
2014-03-19 16:18:43 +00:00
Mark Liversedge
ba5247eb3a CP pointHover
.. plot the interval on hover in the sidebar.
2014-03-19 15:53:58 +00:00
Mark Liversedge
4e81a529a0 CP plot ride as %age of best
.. to quantify the areas trained during the ride
2014-03-18 21:34:32 +00:00
Damien
cea0cb4e05 CriticalPowerWindow: Add a Heat by Date option 2014-03-15 22:52:53 +01:00
Mark Liversedge
7f02ed473e Add Heat to CP chart.
.. from an idea from Michael Puchowiz during discussions
   about a Multicomponent PMC.
2014-03-14 10:08:18 +00:00
Mark Liversedge
6a43f0ded6 Little More Background Honour
.. updated a few more of the charts to honor the chart
   background property so the chart and chrome are all
   in the color the user specified.
2014-03-10 20:55:45 +00:00
Mark Liversedge
a33831f8bf Add Configuration for Train View Color
.. the background was set from the ride plot background.
   we now have a separate configuration option for this.
2014-03-07 12:00:25 +00:00
Mark Liversedge
3151f4e383 Delta character in CP settings 2014-02-28 08:50:25 +00:00
Damien
dfe526926b CriticalPowerPlot: Add Power by inv time plot 2014-02-28 07:20:40 +01:00
Mark Liversedge
4e9d26d2e0 Delta Watts, Torque, Cadence and HR
.. Following on from the recent update to add acceleration
   this update adds other derived data series based upon the
   rate of change.

.. Added to the ride plot and the CP plot.

Not sure of the overall utility of these updates but bear in
mind that they are targetting sprinting and track users and
analysis.

As well as the positive side of this (development of power
cadence etc) we also want to think about and collect data
on fatigue rate (possibly only power and torque)
- fatigue over time
- fatigue over pedal stroke
2014-02-25 18:44:53 +00:00
Mark Liversedge
a101581dc2 Fixup CP interval plot
.. w/kg and accel were a mess and the code didn't honour
   decimal places properly.
2014-02-22 15:12:52 +00:00
Mark Liversedge
ff068705ad Add Acceleration to CP curve
.. and fixup related bugs in ridefilecache
2014-02-22 12:31:22 +00:00
Mark Liversedge
789a7c0a70 CP chart settings into tabs
.. there were too many settings on one page
   so split into tabs
2014-01-12 14:59:43 +00:00
Damien
eaba1fef7d CriticalPowerWindow: small correction 2014-01-04 00:46:15 +01:00
Mark Liversedge
df15888b0b AllPlot Compare Mode
.. extending the interval compare to the allplot chart.
2014-01-03 14:59:20 +00:00
Mark Liversedge
f90eb8a929 CP honour Appearances setting for Linewidth
.. it should have been done a long time ago!
2013-12-31 14:57:39 +00:00
Mark Liversedge
fd72ad67d3 More CP Fixups
Basically to distinguish between the four modes
and only show what you are asking for;

* rangemode + normal  - the currently highlighted season only
* rangemode + compare - the compare pane seasons only
* ridemode  + normal  - the current ride and left pane intervals only
* ridemode  + compare - the compare pane intervals only
2013-12-31 13:52:41 +00:00
Mark Liversedge
a6c389dcbc Fix SEGV on CP picker in Compare Mode
We still need to fix the CP chart picker and hover
to use the range bests when in compare mode.
2013-12-31 12:25:53 +00:00
Mark Liversedge
56206d1fc6 CP Plot Fixups
Fixed a few nits that have come to light over the last
few days as lots of new features were developed.

* Fixed interval glitch where first point is zero, caused by
  an off by one error in the original code

* Fixed interval creation which also had an off by one error
  that mean't 5s curve was only 4s long

* Made the shading under an interval optional, as it is a bit
  nasty and was there to hide the glitch in point 1 above

* Made the interval line solid, not dotted, as it looks much
  better that way -- especially now its used for compare mode

* Made the title red by implementing isCompare() when in
  compare mode.

* Fixed a crash on hover in season compare mode
2013-12-31 12:09:02 +00:00
Damien
c5077af75b CpintPlot Compare Mode
you can now compare intervals or date ranges via the critical power window
2013-12-31 00:57:46 +01:00
Damien
866e884d48 CPintPlot: Add centile mode plot for selected ride 2013-12-28 23:56:02 +01:00
Damien
f96937e360 ExtendedCriticalPower: Change default 2013-12-21 16:45:19 +00:00
Damien
7c43dd24fc CPintPlot: Add extendedCP in model combo 2013-12-21 00:25:19 +01:00
Mark Liversedge
3c3c3af47f Cosmetics tidy up chart settings 2013-12-20 20:14:30 +00:00
Mark Liversedge
a61e036d72 Fixup SEGV and layout error
.. minor fixups for new CP model code to initialise
   some vars to NULL and remove Qt runtime warnings
   about layouts.
2013-12-20 18:26:46 +00:00
Damien
a3d123984a ExtendedCriticalPower: Add Model for ExtendedCP
- One version of the model (Version 4.3)
2013-12-20 18:23:04 +01:00
Mark Liversedge
c3a189b25c QT5 -- 2 of 3
Fixup all the GC code to use the QWT 6.1 code.
It needed canvas() to be patched to return a
QwtPlotCanvas and not a QWidget.

We could probably get round that with a cast.

When we switch to QWT 6.2 with the multiaxis
support formally baked in we can fix the code
as needed.

Now compiles and links without issues.
2013-12-09 12:26:55 +00:00
Mark Liversedge
aa8605e8d5 QT5 -- 1 of 3
Porting the codebase to QT 5 (5.2) to get the
latest bug fixes, performance and improved platform
support.

This first part is to fixup the codebase to compile
on Qt 5, but some aspects have been broken (video).

The second part is to migrate from Qwt 6.0.1 to the
latest Qwt for multiaxis support.

The third part will be to fixup any platform specific
issues or issues identified at runtime.
2013-12-09 09:57:13 +00:00
Mark Liversedge
1abbab0d4d Plot Background and CP chart
If you change the plot background to black then the
CP curve is always in black too so becomes invisible.

Added a customisable color for the CP curve and fixed
up a few redraw issues in CP and Ride plot when you
change the colors.

Still need to fixup the other charts, but will do over
time. I suspect almost noone changes the plot colors from
the default values.
2013-12-07 19:42:51 +00:00
Mark Liversedge
d33f07661a Add Filter Sidebar
To allow selection of filters aka Named Searches when
plotting charts.

Fixes #732
2013-12-05 14:30:42 +00:00
Mark Liversedge
c34b060b2f Compare toolbar/menu option
Just added a toolbar button and menu to bring up the
compare pane, before adding it to the tab and view
classes.
2013-11-24 14:18:21 +00:00
Mark Liversedge
3ba81785ed Fix CP defaults bug
.. set to 3600 not 360 (!)

.. updated intervals causing warnings when using values
   that were half baked. Now delays recalc() till all
   the parameter intervals are set.
2013-11-22 22:30:47 +00:00