6 #ifndef KNOWROB_QUERY_TREE_H
7 #define KNOWROB_QUERY_TREE_H
11 #include "knowrob/formulas/Formula.h"
12 #include "knowrob/formulas/Predicate.h"
13 #include "knowrob/formulas/Conjunction.h"
14 #include "knowrob/formulas/Disjunction.h"
15 #include "knowrob/formulas/Implication.h"
16 #include "knowrob/formulas/Negation.h"
17 #include "knowrob/formulas/ModalFormula.h"
18 #include "knowrob/formulas/FirstOrderLiteral.h"
98 std::vector<FormulaPtr>
nodes_;
std::list< Node * > successors
Node(Node *parent, FormulaPtr formula, bool isNegated)
std::vector< FormulaPtr > nodes_
const auto & nodes() const
std::shared_ptr< Formula > toFormula() const
static std::list< QueryTree::Node * > getLeafs(Node *n)
std::priority_queue< Node *, std::vector< Node * >, NodeComparator > openNodes_
static bool hasCompletePath(Node *leaf)
Node * createNode(Node *parent, const FormulaPtr &phi, bool isNegated)
QueryTree(const QueryTree &)=delete
QueryTree(const FormulaPtr &query)
const auto & paths() const
static void constructPath(Node *leaf, Path &path)
std::shared_ptr< Formula > FormulaPtr
bool operator()(const Node *a, const Node *b) const