29 #ifndef HPP_MANIPULATION_GRAPH_STATE_HH 30 #define HPP_MANIPULATION_GRAPH_STATE_HH 33 #include <hpp/constraints/implicit.hh> 34 #include <hpp/core/config-projector.hh> 35 #include <hpp/core/constraint-set.hh> 44 namespace manipulation {
45 using constraints::Implicit;
57 typedef std::function<
EdgePtr_t(
const std::string&,
const GraphWkPtr_t&,
58 const StateWkPtr_t&,
const StateWkPtr_t&)>
64 static StatePtr_t create(
const std::string& name);
112 throwIfNotInitialized();
113 return configConstraints_;
120 virtual void addNumericalConstraint(
const ImplicitPtr_t& numConstraint);
125 numericalConstraintsForPath_.push_back(nm);
131 for (
const auto& nc : numericalConstraintsForPath_) proj->add(nc);
132 return !numericalConstraintsForPath_.empty();
137 return numericalConstraintsForPath_;
146 void init(
const StateWkPtr_t&
self);
149 State(
const std::string& name);
152 std::ostream& print(std::ostream& os)
const;
156 virtual void initialize();
171 StateSelectorWkPtr_t selector_;
184 #endif // HPP_MANIPULATION_GRAPH_STATE_HH const Neighbors_t & neighbors() const
Get the neighbors.
Definition: state.hh:94
std::vector< EdgePtr_t > Edges_t
Definition: fwd.hh:57
::hpp::statistics::DiscreteDistribution< EdgePtr_t > Neighbors_t
Definition: fwd.hh:59
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition: fwd.hh:49
bool insertNumericalConstraintsForPath(ConfigProjectorPtr_t &proj) const
Definition: state.hh:130
bool isWaypoint() const
Definition: state.hh:81
virtual void addNumericalConstraintForPath(const ImplicitPtr_t &nm)
Add a constraint for paths that lie in this state.
Definition: state.hh:123
const Edges_t & hiddenNeighbors() const
Definition: state.hh:102
#define HPP_MANIPULATION_DLLAPI
Definition: config.hh:64
std::function< EdgePtr_t(const std::string &, const GraphWkPtr_t &, const StateWkPtr_t &, const StateWkPtr_t &)> EdgeFactory
Definition: state.hh:59
::hpp::statistics::DiscreteDistribution< EdgePtr_t >::Weight_t Weight_t
Definition: fwd.hh:58
static EdgePtr_t create(const std::string &name, const GraphWkPtr_t &graph, const StateWkPtr_t &from, const StateWkPtr_t &to)
Create a new empty Edge.
core::ConfigProjectorPtr_t ConfigProjectorPtr_t
Definition: fwd.hh:121
ConstraintSetPtr_t configConstraint() const
Constraint to project onto this state.
Definition: state.hh:111
void isWaypoint(bool isWaypoint)
Definition: state.hh:83
void stateSelector(const StateSelectorWkPtr_t &parent)
Set the StateSelector containing this state.
Definition: state.hh:89
shared_ptr< ConstraintSet > ConstraintSetPtr_t
Definition: fwd.hh:123
constraints::ImplicitPtr_t ImplicitPtr_t
Definition: fwd.hh:116
hpp::core::NumericalConstraints_t NumericalConstraints_t
Definition: fwd.hh:64
core::size_type size_type
Definition: fwd.hh:91
Define common methods of the graph components.
Definition: graph-component.hh:51
const NumericalConstraints_t & numericalConstraintsForPath() const
Get a reference to the NumericalConstraints_t.
Definition: state.hh:136
shared_ptr< Edge > EdgePtr_t
Definition: fwd.hh:49
Edges_t neighborEdges() const
Get the neighbors.
Definition: state.hh:97
shared_ptr< State > StatePtr_t
Definition: fwd.hh:48
StateSelectorWkPtr_t stateSelector() const
Get the parent StateSelector.
Definition: state.hh:86