aboutsummaryrefslogtreecommitdiffstats
path: root/problem.hpp
diff options
context:
space:
mode:
authorAlex Auvolat <alex.auvolat@ens.fr>2015-02-02 00:16:37 +0100
committerAlex Auvolat <alex.auvolat@ens.fr>2015-02-02 00:16:37 +0100
commit0ff287ed38956c0a15f2a8ab503cb1b8253f706d (patch)
treee36c38014845422fe1409e2b4068d0dae1de9442 /problem.hpp
parent8bc5afb4114e94e31efc7534a0e51952e551a57f (diff)
downloadRobotique-Projet-0ff287ed38956c0a15f2a8ab503cb1b8253f706d.tar.gz
Robotique-Projet-0ff287ed38956c0a15f2a8ab503cb1b8253f706d.zip
Select best try
Diffstat (limited to 'problem.hpp')
-rw-r--r--problem.hpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/problem.hpp b/problem.hpp
index 14ba475..4933ed6 100644
--- a/problem.hpp
+++ b/problem.hpp
@@ -91,10 +91,12 @@ struct solution {
solution(const std::vector<hilare_a_mvt> &m) : movement(m) {}
// simple direct solution from A to B, takes into account no obstacles
- static solution direct_sol(const hilare_a &pos_a, const hilare_a &pos_b);
+ static std::vector<solution> direct_sol(const hilare_a &pos_a, const hilare_a &pos_b);
// check if a solution intersects an obstacle of problem
bool intersects(const problem &p) const;
+
+ double length();
};
struct solver_internal {
@@ -106,6 +108,9 @@ struct solver_internal {
void initialize(const problem &p);
solution try_find_solution();
void step(const problem &p);
+
+ // internal
+ void find_direct_path(int a, int b, const problem &p);
};
class solver {