If the model plot cannot be refreshed when data
is invalid, the plot needs to be hidden since the
qwtplot3d api does not redraw empty plots and does
not have any methods for clearing the canvas.
This workaround just hides the plot and shows a label
when the plot is invalidated.
Fixes#429.
The recent patch to reduce redraws when rides are selected
causes each tab to redraw whenever the tab IS selected. This
patch reduces this by remembering the current ride plotted.
It also fixes the "double draw" in GoogleMapControl and AllPlot
when selected for the first time.
And pay attention to MainWindow::activeTab, such that only the active
tab redraws itself when changing rides. This change really increases
GC's responsiveness when scrolling through the ride list.
The none option for data selection on the 3d plot is a
misnomer. It suggests that dimensions can be removed. For
example plotting x/y only. In reality, the 3d libs and the
code for managing the plot go to great lengths to ensure a
plot is rendered across all dimensions.
The None option has been removed for this reason. A 2d
scatter plot with user selectable data series should be
coded specifically to render 2d scatter plots.
fixes#30
Scrolling up and down the ride files is painfully slow when
3d is compiled in. This patch uses a setActive mechanism in
the same fashion as the pfpv and performance manager tabs.
Additionally, a recent patch to support user preferences for
units added a settings lookup that was called for every point.
This is also fixed.
fixes#16
The pedal force channel was incorrectly named - it should have been
the torque value. The AEPF/CPV values are derived from the power
cadence and cranklength. This is corrected with this patch.
Additionally, the axis labels positioning has been amended to be
more appealling and position more appropriately.
A new tab on the ride analysis view for analysing ride data in three
dimensions. Interval selection is supported and a z-axis slider is
available for helping to identify data in the z-plane. A color legend
is displayed since coloring is independent of x/y/z values.
Coloring and Z axis values are averages for associated values of x/y.
The code requires qwtplot3d to be installed (see gcconfig.pri.in) and
with older Mac dev envs you will need to add -lz to LIBS too. (LIBS += -lz).
On Linux qwt3d_function.h needs a #include <stdio.h> added to compile.
Greg Steele helped design and test.
There are 2 open issues x/y/z axis labels occasionally appear in the
wrong place. lastly, the bin selection is for X&Y bin sizes and it
would be better to have separate sliders.