ProductGraph.h
170 std::vector<State*> computeLead(State* start, const std::function<double(State*, State*)>& edgeWeight);
180 void buildGraph(State* start, const std::function<void(State*)>& initialize = ProductGraph::noInit);
248 typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, State*, Edge> GraphType;
double getRegionVolume(const State *s)
Helper method to return the volume of the PropositionalDecomposition region corresponding to the give...
Definition: ProductGraph.cpp:296
A shared pointer wrapper for ompl::control::PropositionalDecomposition.
State * getState(const base::State *cs) const
Returns a ProductGraph State with initial co-safety and safety Automaton states, and the Propositiona...
Definition: ProductGraph.cpp:311
A ProductGraph represents the weighted, directed, graph-based Cartesian product of a PropositionalDec...
Definition: ProductGraph.h:67
std::ostream & operator<<(std::ostream &out, const ScopedState< T > &state)
Overload stream output operator. Calls ompl::base::StateSpace::printState()
Definition: ScopedState.h:497
int getSafeAutDistance(const State *s) const
Helper method to return the distance from a given State's safety state to an accepting state in the s...
Definition: ProductGraph.cpp:306
State * getStartState(void) const
Returns the initial State of this ProductGraph.
Definition: ProductGraph.cpp:291
const PropositionalDecompositionPtr & getDecomp() const
Returns the PropositionalDecomposition contained within this ProductGraph.
Definition: ProductGraph.cpp:126
int getCosafeAutDistance(const State *s) const
Helper method to return the distance from a given State's co-safety state to an accepting state in th...
Definition: ProductGraph.cpp:301
std::vector< State * > computeLead(State *start, const std::function< double(State *, State *)> &edgeWeight)
Returns a shortest-path sequence of ProductGraph states, beginning with a given initial State and end...
Definition: ProductGraph.cpp:142
const AutomatonPtr & getSafetyAutom() const
Returns the safe Automaton contained within this ProductGraph.
Definition: ProductGraph.cpp:136
A State of a ProductGraph represents a vertex in the graph-based Cartesian product represented by the...
Definition: ProductGraph.h:84
State(void)
Creates a State without any assigned PropositionalDecomposition region or Automaton states...
Definition: ProductGraph.h:90
A shared pointer wrapper for ompl::control::Automaton.
State * getState(int region, int cosafe, int safe) const
Returns the ProductGraph state corresponding to the given region, co-safety state, and safety state.
Definition: ProductGraph.h:228
bool isSolution(const State *s) const
Returns whether the given State is an accepting State in this ProductGraph. We call a State accepting...
Definition: ProductGraph.cpp:285
ProductGraph(const PropositionalDecompositionPtr &decomp, const AutomatonPtr &cosafetyAut, const AutomatonPtr &safetyAut)
Initializes a ProductGraph with a given PropositionalDecomposition, co-safe Automaton, and safe Automaton.
Definition: ProductGraph.cpp:105
void buildGraph(State *start, const std::function< void(State *)> &initialize=ProductGraph::noInit)
Constructs this ProductGraph beginning with a given initial State, using a breadth-first search...
Definition: ProductGraph.cpp:210
const AutomatonPtr & getCosafetyAutom() const
Returns the co-safe Automaton contained within this ProductGraph.
Definition: ProductGraph.cpp:131