17 #ifndef HPP_MANIPULATION_GRAPH_STATE_HH 18 # define HPP_MANIPULATION_GRAPH_STATE_HH 20 # include <boost/function.hpp> 22 #include <hpp/core/constraint-set.hh> 23 #include <hpp/core/config-projector.hh> 24 #include <hpp/constraints/implicit.hh> 26 #include "hpp/manipulation/config.hh" 33 namespace manipulation {
34 using constraints::Implicit;
50 const StateWkPtr_t&,
const StateWkPtr_t&) >
81 isWaypoint_ = isWaypoint;
105 return neighbors_.values();
113 return hiddenNeighbors_;
125 throwIfNotInitialized ();
126 return configConstraints_;
134 numericalConstraintsForPath_.push_back (nm);
135 passiveDofsForPath_.push_back (passiveDofs);
142 assert (numericalConstraintsForPath_.size () == passiveDofsForPath_.size ());
143 IntervalsContainer_t::const_iterator itpdofs = passiveDofsForPath_.begin ();
144 for (NumericalConstraints_t::const_iterator it = numericalConstraintsForPath_.begin();
145 it != numericalConstraintsForPath_.end(); it++) {
146 proj->add (*it, *itpdofs);
149 return !numericalConstraintsForPath_.empty ();
155 return numericalConstraintsForPath_;
163 void init (
const StateWkPtr_t&
self);
166 State(
const std::string& name);
169 std::ostream& print (std::ostream& os)
const;
189 StateSelectorWkPtr_t selector_;
202 #endif // HPP_MANIPULATION_GRAPH_STATE_HH const Neighbors_t & neighbors() const
Get the neighbors.
Definition: state.hh:97
std::vector< EdgePtr_t > Edges_t
Definition: fwd.hh:46
boost::shared_ptr< ConstraintSet > ConstraintSetPtr_t
Definition: fwd.hh:112
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition: fwd.hh:38
bool insertNumericalConstraintsForPath(ConfigProjectorPtr_t &proj) const
Definition: state.hh:140
bool initialize(MeshCollisionTraversalNode< BV, RelativeTransformationIsIdentity > &node, BVHModel< BV > &model1, Transform3f &tf1, BVHModel< BV > &model2, Transform3f &tf2, CollisionResult &result, bool use_refit=false, bool refit_bottomup=false)
bool isWaypoint() const
Definition: state.hh:74
boost::shared_ptr< State > StatePtr_t
Definition: fwd.hh:36
const Edges_t & hiddenNeighbors() const
Definition: state.hh:111
hpp::core::segments_t segments_t
Definition: fwd.hh:51
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.
assert(d.lhs()._blocks()==d.rhs()._blocks())
core::ConfigProjectorPtr_t ConfigProjectorPtr_t
Definition: fwd.hh:110
ConstraintSetPtr_t configConstraint() const
Constraint to project onto this state.
Definition: state.hh:123
void isWaypoint(bool isWaypoint)
Definition: state.hh:79
void stateSelector(const StateSelectorWkPtr_t &parent)
Set the StateSelector containing this state.
Definition: state.hh:91
void init(const ConfigurationShooterWkPtr_t &weak)
constraints::ImplicitPtr_t ImplicitPtr_t
Definition: fwd.hh:105
hpp::core::NumericalConstraints_t NumericalConstraints_t
Definition: fwd.hh:53
static GradientBasedPtr_t create(const Problem &problem)
boost::shared_ptr< Edge > EdgePtr_t
Definition: fwd.hh:37
core::size_type size_type
Definition: fwd.hh:80
Define common methods of the graph components.
Definition: graph-component.hh:39
const NumericalConstraints_t & numericalConstraintsForPath() const
Get a reference to the NumericalConstraints_t.
Definition: state.hh:153
Edges_t neighborEdges() const
Get the neighbors.
Definition: state.hh:103
boost::function< EdgePtr_t(const std::string &, const GraphWkPtr_t &, const StateWkPtr_t &, const StateWkPtr_t &) > EdgeFactory
Definition: state.hh:51
std::vector< segments_t > IntervalsContainer_t
Definition: fwd.hh:52
virtual void addNumericalConstraintForPath(const ImplicitPtr_t &nm, const segments_t &passiveDofs=segments_t())
Add constraints::Implicit to the component.
Definition: state.hh:130
boost::shared_ptr< Implicit > ImplicitPtr_t
StateSelectorWkPtr_t stateSelector() const
Get the parent StateSelector.
Definition: state.hh:85
::hpp::statistics::DiscreteDistribution< EdgePtr_t >::Weight_t Weight_t
Definition: fwd.hh:47