1 package net.sf.openrocket.simulation.customexpression;
3 import java.util.ArrayList;
6 import net.sf.openrocket.simulation.FlightDataBranch;
7 import net.sf.openrocket.simulation.SimulationStatus;
8 import net.sf.openrocket.simulation.exception.SimulationException;
9 import net.sf.openrocket.simulation.listeners.AbstractSimulationListener;
11 public class CustomExpressionSimulationListener extends AbstractSimulationListener {
13 private final List<CustomExpression> expressions;
15 public CustomExpressionSimulationListener(List<CustomExpression> expressions) {
17 this.expressions = expressions;
21 public void postStep(SimulationStatus status) throws SimulationException {
22 if ( expressions == null || expressions.size() == 0 ) {
25 // Calculate values for custom expressions
26 FlightDataBranch data = status.getFlightData();
27 for (CustomExpression expression : expressions ) {
28 data.setValue(expression.getType(), expression.evaluateDouble(status));