ParseBlock* TemporalConstrain::toBlock() const { ParseBlock *ret = new ParseBlock; ret->setProperty("min_time", numberToString(min_time)); ret->setProperty("max_time", numberToString(max_time)); ret->setProperty("updraft_id", numberToString(updraft_id)); return ret; }
ParseBlock* FireworksConfig::toBlock() const { ParseBlock *ret = resolution::CostConfig::toBlock(); ret->setProperty("am", functions::numberToString(am)); ret->setProperty("bm", functions::numberToString(bm)); ret->setProperty("mm", functions::numberToString(mm)); ret->setProperty("m", functions::numberToString(m)); ret->setProperty("amplitude_mult", functions::numberToString(amplitude_mult)); return ret; }
ParseBlock* CRGenetics::toBlock() const { ParseBlock *ret = resolution::CRAlgorithm::toBlock(); ret->setProperty("algorithm", "Genetic"); return ret; }
ParseBlock* GeneticConfig::toBlock() const { ParseBlock *ret = resolution::CostConfig::toBlock(); ret->setProperty("initializer_type", initializer_type); ret->setProperty("crossover_type", crossover_type); ret->setProperty("mutator_type", mutator_type); ret->setProperty("custom_evolution", boolToString(custom_evolution)); ret->setProperty("search_ratio", numberToString(search_ratio)); ret->setProperty("max_checks", numberToString(max_checks)); ret->setProperty("mutation_probability", numberToString(pMutation)); ret->setProperty("crossover_probability", numberToString(pCrossover)); ret->setProperty("mutation_deviation", numberToString(mutation_dev)); return ret; }
ParseBlock* AlgorithmConfig::toBlock() const { ParseBlock *block = new ParseBlock; block->setProperty("export_trajectories", functions::boolToString(export_trajectories)); block->setProperty("trajectory_filename", trajectory_filename); block->setProperty("export_solution", functions::boolToString(export_solution)); block->setProperty("solution_filename", solution_filename); block->setProperty("debug", functions::boolToString(debug)); block->setProperty("double_geometry", functions::printVector(double_geometry)); block->setProperty("geometry_expansion", functions::numberToString(geometry_expansion)); return block; }
ParseBlock* CostConfig::toBlock() const { ParseBlock *ret = resolution::AlgorithmConfig::toBlock(); // Type ret->setProperty("cost_type", objective_type); // Bounds ParseBlock *bounds_block = new ParseBlock; bounds_block->setProperty("upper", functions::printVector(upper_bounds)); bounds_block->setProperty("lower", functions::printVector(lower_bounds)); bounds_block->setProperty("speed", functions::printVector(speed_bounds)); ret->setBlock("bounds", bounds_block); // Cost parameters ParseBlock *cost_block = new ParseBlock; cost_block -> setProperty("distance", numberToString(distance_cost)); cost_block -> setProperty("collision_penalty", numberToString(collision_penalty)); ret->setBlock("cost", cost_block); // Sampling parameters ret->setProperty("population", numberToString(population)); ret->setProperty("generations", numberToString(generations)); ret->setProperty("max_time", numberToString(max_time)); ret->setProperty("waypoint_dimension", numberToString(waypoint_dimension)); ret->setProperty("intermediate_waypoints", numberToString(intermediate_waypoints)); ret->setProperty("altitude_levels", boolToString(altitude_levels)); ret->setProperty("altitude_step", numberToString(altitude_step)); ret->setProperty("export_evolution", boolToString(export_evolution)); ret->setProperty("evolution_filename", evolution_file); ret->setProperty("time_exploration", boolToString(time_exploration)); switch (time_exploration_type) { case INDEPENDENT_VELOCITY: ret->setProperty("time_exploration_type", numberToString(INDEPENDENT_VELOCITY)); break; default: ret->setProperty("time_exploration_type", numberToString(MANTAIN_ETA)); } ret->setProperty("speed_factor", numberToString(speed_factor)); // MS-PSO stuff ret->setProperty("manoeuvre_selection", boolToString(manoeuvre_selection)); ret->setProperty("min_z", numberToString(min_z)); ret->setProperty("max_z", numberToString(max_z)); ret->setProperty("max_course", numberToString(max_course)); return ret; }