22 #ifndef __NAVGRAPH_CONSTRAINTS_CONSTRAINT_REPO_H_ 23 #define __NAVGRAPH_CONSTRAINTS_CONSTRAINT_REPO_H_ 25 #include <navgraph/constraints/node_constraint.h> 26 #include <navgraph/constraints/edge_constraint.h> 27 #include <navgraph/constraints/edge_cost_constraint.h> 29 #include <navgraph/navgraph_edge.h> 57 void unregister_constraint(std::string name);
59 bool has_constraint(std::string &name);
68 bool has_constraints()
const;
86 std::map<std::string, std::string>
87 blocks(
const std::vector<fawkes::NavGraphNode> &nodes);
89 std::map<std::pair<std::string, std::string>, std::string>
90 blocks(
const std::vector<fawkes::NavGraphEdge> &edges);
92 std::list<std::tuple<std::string, std::string, std::string, float>>
93 cost_factor(
const std::vector<fawkes::NavGraphEdge> &edges);
95 bool modified(
bool reset_modified =
false);
std::vector< fawkes::NavGraphNodeConstraint * > NodeConstraintList
List of navgraph node constraints.
Constraint that can be queried to check if an edge is blocked.
Fawkes library namespace.
std::vector< fawkes::NavGraphEdgeConstraint * > EdgeConstraintList
List of navgraph edge constraints.
Constraint that can be queried for an edge cost factor.
Constraint repository to maintain blocks on nodes.
Constraint that can be queried to check if a node is blocked.
std::vector< fawkes::NavGraphEdgeCostConstraint * > EdgeCostConstraintList
List of navgraph edge cost constraints.