All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
hpp::manipulation::graph::Edge Class Reference

Transition between two states of a constraint graph. More...

#include <hpp/manipulation/graph/edge.hh>

Inheritance diagram for hpp::manipulation::graph::Edge:
[legend]
Collaboration diagram for hpp::manipulation::graph::Edge:
[legend]

Public Types

typedef core::RelativeMotion RelativeMotion
 

Public Member Functions

virtual ~Edge ()
 Destructor. More...
 
virtual bool applyConstraints (core::NodePtr_t nnear, ConfigurationOut_t q) const
 Apply edge constraint. More...
 
virtual bool applyConstraints (ConfigurationIn_t qoffset, ConfigurationOut_t q) const
 Apply edge constraint. More...
 
virtual bool canConnect (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 
virtual bool build (core::PathPtr_t &path, ConfigurationIn_t q1, ConfigurationIn_t q2) const
 
StatePtr_t to () const
 Get the destination. More...
 
StatePtr_t from () const
 Get the origin. More...
 
StatePtr_t state () const
 Get the state in which path is. More...
 
void state (StatePtr_t state)
 
const core::SteeringMethodPtr_tsteeringMethod () const
 Get steering method associated to the edge. More...
 
const core::PathValidationPtr_tpathValidation () const
 Get path validation associated to the edge. More...
 
const RelativeMotion::matrix_typerelativeMotion () const
 
void relativeMotion (const RelativeMotion::matrix_type &m)
 Update the relative motion matrix. More...
 
virtual bool direction (const core::PathPtr_t &path) const
 Get direction of the path compare to the edge. More...
 
virtual bool intersectionConstraint (const EdgePtr_t &other, ConfigProjectorPtr_t projector) const
 Populate a ConfigProjector with constraints required to generate a path at the intersection of two edges. More...
 
virtual std::ostream & dotPrint (std::ostream &os, dot::DrawingAttributes da=dot::DrawingAttributes()) const
 Print the object in a stream. More...
 
ConstraintSetPtr_t configConstraint () const
 Constraint of the destination state and of the path. More...
 
void setShort (bool isShort)
 
bool isShort () const
 
- Public Member Functions inherited from hpp::manipulation::graph::GraphComponent
virtual ~GraphComponent ()
 
const std::string & name () const
 Get the component name. More...
 
const std::size_t & id () const
 Return the component id. More...
 
virtual void addNumericalConstraint (const ImplicitPtr_t &numConstraint, const segments_t &passiveDofs=segments_t())
 Add Implicit to the component. More...
 
virtual void addNumericalConstraint (const DifferentiableFunctionPtr_t &function, const ComparisonTypes_t &ineq) HPP_MANIPULATION_DEPRECATED
 Add core::DifferentiableFunction to the component. More...
 
virtual void resetNumericalConstraints ()
 Reset the numerical constraints stored in the component. More...
 
virtual void addLockedJointConstraint (const LockedJointPtr_t &constraint)
 Add core::LockedJoint constraint to the component. More...
 
virtual void resetLockedJoints ()
 Reset the locked joint in the component. More...
 
bool insertNumericalConstraints (ConfigProjectorPtr_t &proj) const
 Insert the numerical constraints in a ConfigProjector. More...
 
bool insertLockedJoints (ConfigProjectorPtr_t &cs) const
 Insert the LockedJoint constraints in a ConstraintSet. More...
 
const NumericalConstraints_tnumericalConstraints () const
 Get a reference to the NumericalConstraints_t. More...
 
const IntervalsContainer_tpassiveDofs () const
 Get a reference to the NumericalConstraints_t. More...
 
const LockedJoints_tlockedJoints () const
 Get a reference to the LockedJoints_t. More...
 
void parentGraph (const GraphWkPtr_t &parent)
 Set the parent graph. More...
 
GraphPtr_t parentGraph () const
 Set the parent graph. More...
 
void setDirty ()
 Declare a component as dirty. More...
 

Static Public Member Functions

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. More...
 

Protected Member Functions

void init (const EdgeWkPtr_t &weak, const GraphWkPtr_t &graph, const StateWkPtr_t &from, const StateWkPtr_t &to)
 Initialization of the object. More...
 
 Edge (const std::string &name)
 Constructor. More...
 
ConstraintSetPtr_t pathConstraint () const
 Constraint to project a path. More...
 
virtual ConstraintSetPtr_t buildConfigConstraint ()
 
virtual ConstraintSetPtr_t buildPathConstraint ()
 
virtual void initialize ()
 
virtual std::ostream & print (std::ostream &os) const
 Print the object in a stream. More...
 
- Protected Member Functions inherited from hpp::manipulation::graph::GraphComponent
void init (const GraphComponentWkPtr_t &weak)
 Initialize the component. More...
 
 GraphComponent (const std::string &name)
 
void throwIfNotInitialized () const
 
virtual void populateTooltip (dot::Tooltip &tp) const
 Populate DrawingAttributes tooltip. More...
 

Protected Attributes

bool isShort_
 
- Protected Attributes inherited from hpp::manipulation::graph::GraphComponent
NumericalConstraints_t numericalConstraints_
 Stores the numerical constraints. More...
 
IntervalsContainer_t passiveDofs_
 Stores the passive dofs for each numerical constraints. More...
 
LockedJoints_t lockedJoints_
 List of LockedJoint constraints. More...
 
GraphWkPtr_t graph_
 A weak pointer to the parent graph. More...
 
bool isInit_
 

Friends

class Graph
 

Detailed Description

Transition between two states of a constraint graph.

An edge stores two types of constraints.

Member Typedef Documentation

Constructor & Destructor Documentation

virtual hpp::manipulation::graph::Edge::~Edge ( )
virtual

Destructor.

hpp::manipulation::graph::Edge::Edge ( const std::string &  name)
protected

Constructor.

Member Function Documentation

virtual bool hpp::manipulation::graph::Edge::applyConstraints ( core::NodePtr_t  nnear,
ConfigurationOut_t  q 
) const
virtual

Apply edge constraint.

Parameters
nnearnode containing the configuration defining the right hand side of the edge constraint,
[in,out]qconfiguration to which the edge constraint is applied.
See Also
hpp::core::ConfigProjector::rightHandSideFromConfig

Reimplemented in hpp::manipulation::graph::LevelSetEdge.

virtual bool hpp::manipulation::graph::Edge::applyConstraints ( ConfigurationIn_t  qoffset,
ConfigurationOut_t  q 
) const
virtual

Apply edge constraint.

Parameters
qoffsetconfiguration defining the right hand side of the edge constraint,
[in,out]qconfiguration to which the edge constraint is applied.
See Also
hpp::core::ConfigProjector::rightHandSideFromConfig

Reimplemented in hpp::manipulation::graph::LevelSetEdge, and hpp::manipulation::graph::WaypointEdge.

virtual bool hpp::manipulation::graph::Edge::build ( core::PathPtr_t path,
ConfigurationIn_t  q1,
ConfigurationIn_t  q2 
) const
virtual
virtual ConstraintSetPtr_t hpp::manipulation::graph::Edge::buildConfigConstraint ( )
protectedvirtual
virtual ConstraintSetPtr_t hpp::manipulation::graph::Edge::buildPathConstraint ( )
protectedvirtual
virtual bool hpp::manipulation::graph::Edge::canConnect ( ConfigurationIn_t  q1,
ConfigurationIn_t  q2 
) const
virtual
ConstraintSetPtr_t hpp::manipulation::graph::Edge::configConstraint ( ) const

Constraint of the destination state and of the path.

static EdgePtr_t hpp::manipulation::graph::Edge::create ( const std::string &  name,
const GraphWkPtr_t &  graph,
const StateWkPtr_t &  from,
const StateWkPtr_t &  to 
)
static

Create a new empty Edge.

virtual bool hpp::manipulation::graph::Edge::direction ( const core::PathPtr_t path) const
virtual

Get direction of the path compare to the edge.

Returns
true is reverse
virtual std::ostream& hpp::manipulation::graph::Edge::dotPrint ( std::ostream &  os,
dot::DrawingAttributes  da = dot::DrawingAttributes() 
) const
virtual
StatePtr_t hpp::manipulation::graph::Edge::from ( ) const

Get the origin.

void hpp::manipulation::graph::Edge::init ( const EdgeWkPtr_t &  weak,
const GraphWkPtr_t &  graph,
const StateWkPtr_t &  from,
const StateWkPtr_t &  to 
)
protected

Initialization of the object.

virtual void hpp::manipulation::graph::Edge::initialize ( )
protectedvirtual
virtual bool hpp::manipulation::graph::Edge::intersectionConstraint ( const EdgePtr_t other,
ConfigProjectorPtr_t  projector 
) const
virtual

Populate a ConfigProjector with constraints required to generate a path at the intersection of two edges.

bool hpp::manipulation::graph::Edge::isShort ( ) const
inline
ConstraintSetPtr_t hpp::manipulation::graph::Edge::pathConstraint ( ) const
protected

Constraint to project a path.

Returns
The initialized constraint.
const core::PathValidationPtr_t& hpp::manipulation::graph::Edge::pathValidation ( ) const
inline

Get path validation associated to the edge.

virtual std::ostream& hpp::manipulation::graph::Edge::print ( std::ostream &  os) const
protectedvirtual
const RelativeMotion::matrix_type& hpp::manipulation::graph::Edge::relativeMotion ( ) const
inline
void hpp::manipulation::graph::Edge::relativeMotion ( const RelativeMotion::matrix_type m)

Update the relative motion matrix.

void hpp::manipulation::graph::Edge::setShort ( bool  isShort)
inline
StatePtr_t hpp::manipulation::graph::Edge::state ( ) const
inline

Get the state in which path is.

void hpp::manipulation::graph::Edge::state ( StatePtr_t  state)
inline
const core::SteeringMethodPtr_t& hpp::manipulation::graph::Edge::steeringMethod ( ) const
inline

Get steering method associated to the edge.

References steeringMethod_.

StatePtr_t hpp::manipulation::graph::Edge::to ( ) const

Get the destination.

Friends And Related Function Documentation

friend class Graph
friend

Member Data Documentation

bool hpp::manipulation::graph::Edge::isShort_
protected