Fawkes API
Fawkes Development Version
|
23 #ifndef _NAVGRAPH_CONSTRAINTS_TIMED_RESERVATION_LIST_EDGE_CONSTRAINT_H_
24 #define _NAVGRAPH_CONSTRAINTS_TIMED_RESERVATION_LIST_EDGE_CONSTRAINT_H_
26 #include <logging/logger.h>
27 #include <navgraph/constraints/static_list_edge_constraint.h>
28 #include <navgraph/navgraph.h>
29 #include <utils/time/time.h>
40 std::string constraint_name,
45 std::string constraint_name,
47 std::vector<std::pair<fawkes::NavGraphEdge, fawkes::Time>>
edge_time_list);
51 const std::vector<std::pair<fawkes::NavGraphEdge, fawkes::Time>> &
edge_time_list()
const;
54 void add_edges(
const std::vector<std::pair<fawkes::NavGraphEdge, fawkes::Time>> &edges);
59 virtual bool compute(
void)
throw();
63 std::vector<std::pair<fawkes::NavGraphEdge, fawkes::Time>> edge_time_list_;
67 std::string constraint_name_;
const std::vector< std::pair< fawkes::NavGraphEdge, fawkes::Time > > & edge_time_list() const
Get list of blocked edges.
virtual bool blocks(const fawkes::NavGraphNode &from, const fawkes::NavGraphNode &to)
Check if constraint blocks an edge.
Constraint that holds a list of edges to block with timeouts.
void clear_edges()
Remove all edges.
void add_edge(const fawkes::NavGraphEdge &edge, const fawkes::Time valid_time)
Add a single edge to constraint list.
void add_edges(const std::vector< std::pair< fawkes::NavGraphEdge, fawkes::Time >> &edges)
Add multiple edges to constraint list.
void remove_edge(const fawkes::NavGraphEdge &edge)
Remove a single edge from the constraint list.
Constraint that can be queried to check if an edge is blocked.
virtual ~NavGraphTimedReservationListEdgeConstraint()
Virtual empty destructor.
Fawkes library namespace.
A class for handling time.
NavGraphTimedReservationListEdgeConstraint(Logger *logger, std::string constraint_name, fawkes::Clock *clock)
Constructor.
virtual bool compute(void)
Perform compuations before graph search and to indicate re-planning.
bool has_edge(const fawkes::NavGraphEdge &edge)
Check if constraint has a specific edge.
This is supposed to be the central clock in Fawkes.