From 4982075428e35752b8be08672ef7642180aa893b Mon Sep 17 00:00:00 2001 From: kruland2607 Date: Sat, 14 Jan 2012 02:43:21 +0000 Subject: [PATCH] Convert apogee and simulation plot values to configured units. git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@351 180e2498-e6e9-4542-8430-84ac67f01cd8 --- .../android/rocket/OpenRocketViewer.java | 9 +++++++-- .../android/simulation/SimulationChart.java | 20 +++++++++++++++++-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java b/android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java index 11db81bb..6985c934 100644 --- a/android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java +++ b/android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java @@ -264,7 +264,12 @@ implements SharedPreferences.OnSharedPreferenceChangeListener } Simulation sim = this.getItem(position); ((TextView)v.findViewById(android.R.id.text1)).setText( sim.getName() ); - ((TextView)v.findViewById(android.R.id.text2)).setText( "motors: " + sim.getConfiguration().getMotorConfigurationDescription() + " apogee: " + sim.getSimulatedData().getMaxAltitude() + "m time: " + sim.getSimulatedData().getFlightTime() + "s"); + StringBuilder sb = new StringBuilder(); + sb.append("motors: ").append(sim.getConfiguration().getMotorConfigurationDescription()); + Unit distanceUnit = UnitGroup.UNITS_DISTANCE.getDefaultUnit(); + sb.append(" apogee: ").append( distanceUnit.toStringUnit(sim.getSimulatedData().getMaxAltitude())); + sb.append(" time: ").append(sim.getSimulatedData().getFlightTime()).append("s"); + ((TextView)v.findViewById(android.R.id.text2)).setText( sb.toString() ); return v; } @@ -275,7 +280,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener Intent i = new Intent(OpenRocketViewer.this, SimulationViewer.class); Log.d(TAG,"onItemClick simulation number " + id ); i.putExtra("Simulation",(int)id); - startActivityForResult(i, 1/*magic*/); + startActivity(i); } }); diff --git a/android/src/net/sf/openrocket/android/simulation/SimulationChart.java b/android/src/net/sf/openrocket/android/simulation/SimulationChart.java index d1301db1..e0b22bd8 100644 --- a/android/src/net/sf/openrocket/android/simulation/SimulationChart.java +++ b/android/src/net/sf/openrocket/android/simulation/SimulationChart.java @@ -15,11 +15,13 @@ */ package net.sf.openrocket.android.simulation; +import java.util.ArrayList; import java.util.List; import net.sf.openrocket.simulation.FlightDataBranch; import net.sf.openrocket.simulation.FlightDataType; import net.sf.openrocket.simulation.FlightEvent; +import net.sf.openrocket.unit.Unit; import org.achartengine.ChartFactory; import org.achartengine.chart.LineChart; @@ -157,7 +159,13 @@ public class SimulationChart { XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); List timevalues = flightDataBranch.get(time); - List series1values = flightDataBranch.get(series1); + List series1values = new ArrayList( flightDataBranch.get(series1).size() ); + { + Unit u = series1.getUnitGroup().getDefaultUnit(); + for( Double d: flightDataBranch.get(series1) ) { + series1values.add( u.toUnit(d)); + } + } // compute the axis limits using timevalues and series1values. double xmin = 0; @@ -181,7 +189,15 @@ public class SimulationChart { if ( seriesCount > 1 ) { // Add second series - addXYSeries(dataset, series2.getName(), timevalues, flightDataBranch.get(series2), 1); + List series2values = new ArrayList( flightDataBranch.get(series2).size() ); + { + Unit u = series2.getUnitGroup().getDefaultUnit(); + for( Double d: flightDataBranch.get(series2) ) { + series2values.add( u.toUnit(d)); + } + } + + addXYSeries(dataset, series2.getName(), timevalues, series2values, 1); } Intent intent = getLineChartIntent(context, dataset, renderer,"Simulation"); return intent; -- 2.30.2