Added new feature : user configurable custom expression evaluation for the simulation...
[debian/openrocket] / core / src / net / sf / openrocket / simulation / BasicEventSimulationEngine.java
index 305516ad78b0a8ff122064086258ae245f642250..b0139fbbd35f684bc20f2384b4c84b27bdc23e0b 100644 (file)
@@ -1,5 +1,6 @@
 package net.sf.openrocket.simulation;
 
+import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
@@ -88,6 +89,12 @@ public class BasicEventSimulationEngine implements SimulationEngine {
                                }
                                SimulationListenerHelper.firePostStep(status);
                                
+                               // Calculate values for custom expressions
+                               FlightDataBranch data = status.getFlightData();
+                               ArrayList<CustomExpression> allExpressions = status.getSimulationConditions().getSimulation().getCustomExpressions();
+                               for (CustomExpression expression : allExpressions ) {
+                                       data.setValue(expression.getType(), expression.evaluate(status));
+                               }
                                
                                // Check for NaN values in the simulation status
                                checkNaN();