package net.sf.openrocket.optimization.services; import java.util.ArrayList; import java.util.Collection; import java.util.List; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.optimization.rocketoptimization.OptimizableParameter; import net.sf.openrocket.optimization.rocketoptimization.parameters.DeploymentVelocityParameter; import net.sf.openrocket.optimization.rocketoptimization.parameters.GroundHitVelocityParameter; import net.sf.openrocket.optimization.rocketoptimization.parameters.LandingDistanceParameter; import net.sf.openrocket.optimization.rocketoptimization.parameters.MaximumAccelerationParameter; import net.sf.openrocket.optimization.rocketoptimization.parameters.MaximumAltitudeParameter; import net.sf.openrocket.optimization.rocketoptimization.parameters.MaximumVelocityParameter; import net.sf.openrocket.optimization.rocketoptimization.parameters.StabilityParameter; import net.sf.openrocket.optimization.rocketoptimization.parameters.TotalFlightTimeParameter; /** * Default implementation for optimization parameter service. * * @author Sampo Niskanen <sampo.niskanen@iki.fi> */ public class DefaultOptimizableParameterService implements OptimizableParameterService { @Override public Collection<OptimizableParameter> getParameters(OpenRocketDocument document) { List<OptimizableParameter> list = new ArrayList<OptimizableParameter>(); list.add(new MaximumAltitudeParameter()); list.add(new MaximumVelocityParameter()); list.add(new MaximumAccelerationParameter()); list.add(new StabilityParameter(false)); list.add(new StabilityParameter(true)); list.add(new GroundHitVelocityParameter()); list.add(new LandingDistanceParameter()); list.add(new TotalFlightTimeParameter()); list.add(new DeploymentVelocityParameter()); return list; } }