major optimization updates
[debian/openrocket] / src / net / sf / openrocket / optimization / services / DefaultOptimizableParameterService.java
1 package net.sf.openrocket.optimization.services;
2
3 import java.util.ArrayList;
4 import java.util.Collection;
5 import java.util.List;
6
7 import net.sf.openrocket.document.OpenRocketDocument;
8 import net.sf.openrocket.optimization.rocketoptimization.OptimizableParameter;
9 import net.sf.openrocket.optimization.rocketoptimization.parameters.GroundHitVelocityParameter;
10 import net.sf.openrocket.optimization.rocketoptimization.parameters.LandingDistanceParameter;
11 import net.sf.openrocket.optimization.rocketoptimization.parameters.MaximumAccelerationParameter;
12 import net.sf.openrocket.optimization.rocketoptimization.parameters.MaximumAltitudeParameter;
13 import net.sf.openrocket.optimization.rocketoptimization.parameters.MaximumVelocityParameter;
14 import net.sf.openrocket.optimization.rocketoptimization.parameters.StabilityParameter;
15
16 /**
17  * Default implementation for optimization parameter service.
18  * 
19  * @author Sampo Niskanen <sampo.niskanen@iki.fi>
20  */
21 public class DefaultOptimizableParameterService implements OptimizableParameterService {
22         
23         @Override
24         public Collection<OptimizableParameter> getParameters(OpenRocketDocument document) {
25                 List<OptimizableParameter> list = new ArrayList<OptimizableParameter>();
26                 
27                 list.add(new MaximumAltitudeParameter());
28                 list.add(new MaximumVelocityParameter());
29                 list.add(new MaximumAccelerationParameter());
30                 list.add(new StabilityParameter(false));
31                 list.add(new StabilityParameter(true));
32                 list.add(new GroundHitVelocityParameter());
33                 list.add(new LandingDistanceParameter());
34                 
35                 return list;
36         }
37         
38 }