+++ /dev/null
-package tim.prune.gui.profile;
-
-import tim.prune.I18nManager;
-import tim.prune.data.SpeedCalculator;
-import tim.prune.data.SpeedValue;
-import tim.prune.data.Track;
-import tim.prune.data.UnitSet;
-
-/**
- * Class to provide a source of vertical speed data for the profile chart
- */
-public class VerticalSpeedData extends ProfileData
-{
- /**
- * Constructor
- * @param inTrack track object
- */
- public VerticalSpeedData(Track inTrack) {
- super(inTrack);
- }
-
- /**
- * Get the data and populate the instance arrays
- */
- public void init(UnitSet inUnitSet)
- {
- setUnitSet(inUnitSet);
- initArrays();
- _hasData = false;
- _minValue = _maxValue = 0.0;
- SpeedValue speed = new SpeedValue();
- if (_track != null)
- {
- for (int i=0; i<_track.getNumPoints(); i++)
- {
- SpeedCalculator.calculateVerticalSpeed(_track, i, speed);
- // Check whether we got a value from either method
- if (speed.isValid())
- {
- // Store the value and maintain max and min values
- double speedValue = speed.getValue();
- _pointValues[i] = speedValue;
- if (speedValue < _minValue || !_hasData) {_minValue = speedValue;}
- if (speedValue > _maxValue || !_hasData) {_maxValue = speedValue;}
- _hasData = true;
- }
- _pointHasData[i] = speed.isValid();
- }
- }
- }
-
- /**
- * @return text description including units
- */
- public String getLabel()
- {
- return I18nManager.getText("fieldname.verticalspeed") + " ("
- + I18nManager.getText(_unitSet.getVerticalSpeedUnit().getShortnameKey()) + ")";
- }
-
- /**
- * @return key for message when no speeds present
- */
- public String getNoDataKey()
- {
- if (!_track.hasAltitudeData()) {
- return "display.noaltitudes";
- }
- return "display.notimestamps";
- }
-}