1 package net.sf.openrocket.simulation.listeners;
3 import java.util.Collection;
5 import net.sf.openrocket.simulation.FlightDataBranch;
6 import net.sf.openrocket.simulation.FlightEvent;
7 import net.sf.openrocket.simulation.SimulationStatus;
10 public class PrintSimulationListener extends AbstractSimulationListener {
13 public Collection<FlightEvent> handleEvent(FlightEvent event,
14 SimulationStatus status) {
16 System.out.println("*** handleEvent *** "+event.toString() +
17 " position="+status.position + " velocity="+status.velocity);
22 public Collection<FlightEvent> stepTaken(SimulationStatus status) {
24 FlightDataBranch data = status.flightData;
25 System.out.printf("*** stepTaken *** time=%.3f position="+status.position+
26 " velocity="+status.velocity+"=%.3f\n", status.time, status.velocity.length());
27 System.out.printf(" thrust=%.3fN drag==%.3fN mass=%.3fkg " +
28 "accZ=%.3fm/s2 acc=%.3fm/s2\n",
29 data.getLast(FlightDataBranch.TYPE_THRUST_FORCE),
30 data.getLast(FlightDataBranch.TYPE_DRAG_FORCE),
31 data.getLast(FlightDataBranch.TYPE_MASS),
32 data.getLast(FlightDataBranch.TYPE_ACCELERATION_Z),
33 data.getLast(FlightDataBranch.TYPE_ACCELERATION_TOTAL));