29 #ifndef HPP_MANIPULATION_GRAPH_EDGE_HH
30 #define HPP_MANIPULATION_GRAPH_EDGE_HH
32 #include <hpp/core/constraint-set.hh>
33 #include <hpp/core/path.hh>
34 #include <hpp/core/relative-motion.hh>
35 #include <hpp/core/steering-method.hh>
42 namespace manipulation {
82 const StateWkPtr_t& from,
const StateWkPtr_t& to);
124 return steeringMethod_;
129 return pathValidation_;
155 virtual bool direction(
const core::PathPtr_t& path)
const;
170 void setShort(
bool isShort) { isShort_ = isShort; }
179 void init(
const EdgeWkPtr_t& weak,
const GraphWkPtr_t& graph,
180 const StateWkPtr_t& from,
const StateWkPtr_t& to);
194 virtual std::ostream&
print(std::ostream& os)
const;
207 StateWkPtr_t from_, to_;
216 mutable RelativeMotion::matrix_type relMotion_;
266 const GraphWkPtr_t& graph,
267 const StateWkPtr_t& from,
268 const StateWkPtr_t& to);
307 void init(
const WaypointEdgeWkPtr_t& weak,
const GraphWkPtr_t& graph,
308 const StateWkPtr_t& from,
const StateWkPtr_t& to);
313 virtual std::ostream&
print(std::ostream& os)
const;
320 mutable bool lastSucceeded_;
322 WaypointEdgeWkPtr_t wkPtr_;
404 const GraphWkPtr_t& graph,
405 const StateWkPtr_t& from,
406 const StateWkPtr_t& to);
492 void init(
const LevelSetEdgeWkPtr_t& weak,
const GraphWkPtr_t& graph,
493 const StateWkPtr_t& from,
const StateWkPtr_t& to);
498 virtual std::ostream&
print(std::ostream& os)
const;
517 LevelSetEdgeWkPtr_t wkPtr_;
virtual std::ostream & dotPrint(std::ostream &os, dot::DrawingAttributes da=dot::DrawingAttributes()) const
Print the object in a stream.
virtual void initialize()
StatePtr_t stateFrom() const
Get the origin.
const RelativeMotion::matrix_type & relativeMotion() const
Definition: edge.hh:132
const matrix_t & securityMargins() const
Accessor to the security margin.
Definition: edge.hh:151
bool isShort() const
Definition: edge.hh:172
virtual ConstraintSetPtr_t buildTargetConstraint()
Build path and target state constraint set.
void relativeMotion(const RelativeMotion::matrix_type &m)
Update the relative motion matrix.
const core::PathValidationPtr_t & pathValidation() const
Get path validation associated to the edge.
Definition: edge.hh:128
virtual ConstraintSetPtr_t buildPathConstraint()
Build path constraints.
bool isShort_
Definition: edge.hh:196
virtual ~Edge()
Destructor.
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.
virtual bool build(core::PathPtr_t &path, ConfigurationIn_t q1, ConfigurationIn_t q2) const
virtual bool intersectionConstraint(const EdgePtr_t &other, ConfigProjectorPtr_t projector) const
StatePtr_t stateTo() const
Get the destination.
virtual bool generateTargetConfig(ConfigurationIn_t qStart, ConfigurationOut_t q) const
ConstraintSetPtr_t pathConstraint() const
Edge(const std::string &name)
Constructor.
virtual bool generateTargetConfig(core::NodePtr_t nStart, ConfigurationOut_t q) const
virtual std::ostream & print(std::ostream &os) const
Print the object in a stream.
void securityMarginForPair(const size_type &row, const size_type &col, const value_type &margin)
const core::SteeringMethodPtr_t & steeringMethod() const
Get steering method associated to the edge.
Definition: edge.hh:123
virtual bool canConnect(ConfigurationIn_t q1, ConfigurationIn_t q2) const
virtual bool direction(const core::PathPtr_t &path) const
void init(const EdgeWkPtr_t &weak, const GraphWkPtr_t &graph, const StateWkPtr_t &from, const StateWkPtr_t &to)
Initialization of the object.
StatePtr_t state() const
Get the state in which path is.
Definition: edge.hh:118
ConstraintSetPtr_t targetConstraint() const
Constraint of the destination state and of the path.
void state(StatePtr_t state)
Definition: edge.hh:120
core::RelativeMotion RelativeMotion
Definition: edge.hh:75
void setShort(bool isShort)
Definition: edge.hh:170
Define common methods of the graph components.
Definition: graph-component.hh:51
const NumericalConstraints_t & conditionConstraints() const
virtual std::ostream & print(std::ostream &os) const
Print the object in a stream.
void init(const LevelSetEdgeWkPtr_t &weak, const GraphWkPtr_t &graph, const StateWkPtr_t &from, const StateWkPtr_t &to)
Initialization of the object.
virtual bool generateTargetConfig(ConfigurationIn_t qStart, ConfigurationOut_t q) const
virtual bool generateTargetConfig(core::NodePtr_t nStart, ConfigurationOut_t q) const
virtual ConstraintSetPtr_t buildTargetConstraint()
Build path and target state constraints.
virtual void populateTooltip(dot::Tooltip &tp) const
Populate DrawingAttributes tooltip.
virtual std::ostream & dotPrint(std::ostream &os, dot::DrawingAttributes da=dot::DrawingAttributes()) const
Print the object in a stream.
LevelSetEdge(const std::string &name)
bool generateTargetConfigOnLeaf(ConfigurationIn_t qStart, ConfigurationIn_t qLeaf, ConfigurationOut_t q) const
virtual void initialize()
void insertParamConstraint(const ImplicitPtr_t &nm)
void insertConditionConstraint(const ImplicitPtr_t &nm)
LeafHistogramPtr_t histogram() const
static LevelSetEdgePtr_t create(const std::string &name, const GraphWkPtr_t &graph, const StateWkPtr_t &from, const StateWkPtr_t &to)
Create a new LevelSetEdge.
const NumericalConstraints_t & paramConstraints() const
Get constraints parameterizing the target state foliation.
const EdgePtr_t & waypoint(const std::size_t index) const
Return the index-th edge.
virtual bool canConnect(ConfigurationIn_t q1, ConfigurationIn_t q2) const
void nbWaypoints(const size_type number)
Set the number of waypoints.
void setWaypoint(const std::size_t index, const EdgePtr_t wEdge, const StatePtr_t wTo)
std::size_t nbWaypoints() const
Definition: edge.hh:297
virtual bool generateTargetConfig(ConfigurationIn_t qStart, ConfigurationOut_t q) const
WaypointEdge(const std::string &name)
Definition: edge.hh:305
virtual void initialize()
Initialize each of the internal edges.
virtual bool build(core::PathPtr_t &path, ConfigurationIn_t q1, ConfigurationIn_t q2) const
static WaypointEdgePtr_t create(const std::string &name, const GraphWkPtr_t &graph, const StateWkPtr_t &from, const StateWkPtr_t &to)
Create a new WaypointEdge.
void init(const WaypointEdgeWkPtr_t &weak, const GraphWkPtr_t &graph, const StateWkPtr_t &from, const StateWkPtr_t &to)
Initialization of the object.
virtual std::ostream & dotPrint(std::ostream &os, dot::DrawingAttributes da=dot::DrawingAttributes()) const
Print the object in a stream.
virtual std::ostream & print(std::ostream &os) const
Print the object in a stream.
#define HPP_MANIPULATION_DLLAPI
Definition: config.hh:88
hpp::core::NumericalConstraints_t NumericalConstraints_t
Definition: fwd.hh:64
shared_ptr< Edge > EdgePtr_t
Definition: fwd.hh:49
shared_ptr< State > StatePtr_t
Definition: fwd.hh:48
shared_ptr< LevelSetEdge > LevelSetEdgePtr_t
Definition: fwd.hh:51
std::vector< EdgePtr_t > Edges_t
Definition: fwd.hh:57
std::vector< StatePtr_t > States_t
Definition: fwd.hh:56
shared_ptr< WaypointEdge > WaypointEdgePtr_t
Definition: fwd.hh:50
shared_ptr< LeafHistogram > LeafHistogramPtr_t
Definition: fwd.hh:72
shared_ptr< ConstraintSet > ConstraintSetPtr_t
Definition: fwd.hh:138
core::PathValidationPtr_t PathValidationPtr_t
Definition: fwd.hh:144
constraints::ImplicitPtr_t ImplicitPtr_t
Definition: fwd.hh:131
pinocchio::ConfigurationOut_t ConfigurationOut_t
Definition: fwd.hh:50
core::ConfigProjectorPtr_t ConfigProjectorPtr_t
Definition: fwd.hh:136
core::size_type size_type
Definition: fwd.hh:90
core::value_type value_type
Definition: fwd.hh:89
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition: fwd.hh:49
core::matrix_t matrix_t
Definition: fwd.hh:146
shared_ptr< SteeringMethod > SteeringMethodPtr_t
Definition: fwd.hh:112