- Implemented a DampingMoment simulation listener example
[debian/openrocket] / core / src / net / sf / openrocket / simulation / customexpression / CustomExpressionSimulationListener.java
index d1ce6e97348bcad4861f4085116d61a9d555f7f6..243f7b1553f8976a023333fdf95d0c02a351020b 100644 (file)
@@ -3,13 +3,16 @@ package net.sf.openrocket.simulation.customexpression;
 import java.util.ArrayList;
 import java.util.List;
 
+import net.sf.openrocket.logging.LogHelper;
 import net.sf.openrocket.simulation.FlightDataBranch;
 import net.sf.openrocket.simulation.SimulationStatus;
 import net.sf.openrocket.simulation.exception.SimulationException;
 import net.sf.openrocket.simulation.listeners.AbstractSimulationListener;
+import net.sf.openrocket.startup.Application;
 
 public class CustomExpressionSimulationListener extends        AbstractSimulationListener {
 
+       private static final LogHelper log = Application.getLogger();
        private final List<CustomExpression> expressions;
        
        public CustomExpressionSimulationListener(List<CustomExpression> expressions) {
@@ -25,10 +28,17 @@ public class CustomExpressionSimulationListener extends     AbstractSimulationListen
                // Calculate values for custom expressions
                FlightDataBranch data = status.getFlightData();
                for (CustomExpression expression : expressions ) {
-                       data.setValue(expression.getType(), expression.evaluateDouble(status));
+                       double value = expression.evaluateDouble(status);
+                       //log.debug("Setting value of custom expression "+expression.toString()+" = "+value);
+                       data.setValue(expression.getType(), value);
                }
                
 
        }
 
+       @Override
+       public boolean isSystemListener(){
+               return true;
+       }
+       
 }