Initial commit
[debian/openrocket] / src / net / sf / openrocket / simulation / listeners / PrintSimulationListener.java
1 package net.sf.openrocket.simulation.listeners;
2
3 import java.util.Collection;
4
5 import net.sf.openrocket.simulation.FlightDataBranch;
6 import net.sf.openrocket.simulation.FlightEvent;
7 import net.sf.openrocket.simulation.SimulationStatus;
8
9
10 public class PrintSimulationListener extends AbstractSimulationListener {
11
12         @Override
13         public Collection<FlightEvent> handleEvent(FlightEvent event,
14                         SimulationStatus status) {
15
16                 System.out.println("*** handleEvent *** "+event.toString() + 
17                                 " position="+status.position + " velocity="+status.velocity);
18                 return null;
19         }
20
21         @Override
22         public Collection<FlightEvent> stepTaken(SimulationStatus status) {
23
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));
34                 
35                 return null;
36         }
37
38 }