29 #ifndef HPP_MANIPULATION_GRAPH_GRAPH_HH
30 #define HPP_MANIPULATION_GRAPH_GRAPH_HH
41 namespace manipulation {
234 hists_.push_back(hist);
241 GraphComponentWkPtr_t
get(std::size_t
id)
const;
265 std::ostream&
print(std::ostream& os)
const;
288 typedef std::map<StatePtr_t, ConstraintSetPtr_t> MapFromState;
289 typedef std::pair<StatePtr_t, ConstraintSetPtr_t> PairStateConstraints;
290 MapFromState constraintSetMapFromState_;
296 typedef std::map<EdgePtr_t, ConstraintSetPtr_t> MapFromEdge;
297 typedef std::pair<EdgePtr_t, ConstraintSetPtr_t> PairEdgeConstraints;
298 MapFromEdge cfgConstraintSetMapFromEdge_, pathConstraintSetMapFromEdge_;
Definition: roadmap-node.hh:42
Define common methods of the graph components.
Definition: graph-component.hh:51
void clearConstraintsAndComplement()
void stateSelector(StateSelectorPtr_t ns)
StateSelectorPtr_t createStateSelector(const std::string &name)
Create and insert a state selector inside the graph.
value_type errorThreshold() const
Get error threshold in config projector.
void errorThreshold(const value_type &threshold)
Set error threshold.
virtual void initialize()
Initialize all components of the graph (edges and states)
bool getConfigErrorForEdge(ConfigurationIn_t config, const EdgePtr_t &edge, vector_t &error) const
const DevicePtr_t & robot() const
Get the robot.
void problem(const ProblemPtr_t &problem)
Set the problem.
Edges_t getEdges(const StatePtr_t &from, const StatePtr_t &to) const
Get possible edges between two nodes.
GraphComponentWkPtr_t get(std::size_t id) const
Get the component by its ID.
const ConstraintsAndComplements_t & constraintsAndComplements() const
void insertHistogram(const graph::HistogramPtr_t &hist)
Register an histogram representing a foliation.
Definition: graph.hh:233
ConstraintSetPtr_t configConstraint(const StatePtr_t &state) const
StatePtr_t getState(RoadmapNodePtr_t node) const
Returns the state of a roadmap node.
static GraphPtr_t create(const std::string &name, DevicePtr_t robot, const ProblemPtr_t &problem)
Graph(const std::string &name, const ProblemPtr_t &problem)
void maxIterations(size_type iterations)
Set maximal number of iterations.
void registerConstraints(const ImplicitPtr_t &constraint, const ImplicitPtr_t &complement, const ImplicitPtr_t &both)
size_type maxIterations() const
Get maximal number of iterations in config projector.
ConstraintSetPtr_t targetConstraint(const EdgePtr_t &edge) const
virtual void invalidate()
Invalidate all states and edges of the graph.
StateSelectorPtr_t stateSelector() const
Get the state selector.
Definition: graph.hh:82
const Histograms_t & histograms() const
Get the histograms.
Definition: graph.hh:238
bool getConfigErrorForEdgeLeaf(ConfigurationIn_t leafConfig, ConfigurationIn_t config, const EdgePtr_t &edge, vector_t &error) const
std::ostream & print(std::ostream &os) const
Print the object in a stream.
bool getConfigErrorForState(ConfigurationIn_t config, const StatePtr_t &state, vector_t &error) const
const ProblemPtr_t & problem() const
Get the problem.
std::size_t nbComponents() const
Definition: graph.hh:243
virtual std::ostream & dotPrint(std::ostream &os, dot::DrawingAttributes da=dot::DrawingAttributes()) const
Print the component in DOT language.
void init(const GraphWkPtr_t &weak, DevicePtr_t robot)
Initialization of the object.
EdgePtr_t chooseEdge(RoadmapNodePtr_t node) const
Select randomly outgoing edge of the given node.
ConstraintSetPtr_t pathConstraint(const EdgePtr_t &edge) const
bool isComplement(const ImplicitPtr_t &constraint, const ImplicitPtr_t &complement, ImplicitPtr_t &combinationOfBoth) const
StatePtr_t getState(ConfigurationIn_t config) const
Returns the state of a configuration.
bool getConfigErrorForEdgeTarget(ConfigurationIn_t leafConfig, ConfigurationIn_t config, const EdgePtr_t &edge, vector_t &error) const
#define HPP_MANIPULATION_DLLAPI
Definition: config.hh:88
std::vector< ConstraintAndComplement_t > ConstraintsAndComplements_t
Definition: constraint-set.hh:87
shared_ptr< Edge > EdgePtr_t
Definition: fwd.hh:49
shared_ptr< State > StatePtr_t
Definition: fwd.hh:48
std::vector< EdgePtr_t > Edges_t
Definition: fwd.hh:57
shared_ptr< StateSelector > StateSelectorPtr_t
Definition: fwd.hh:52
std::list< HistogramPtr_t > Histograms_t
Definition: fwd.hh:73
shared_ptr< Histogram > HistogramPtr_t
Definition: fwd.hh:69
std::vector< GraphComponentWkPtr_t > GraphComponents_t
Definition: fwd.hh:55
shared_ptr< Graph > GraphPtr_t
Definition: fwd.hh:47
shared_ptr< Problem > ProblemPtr_t
Definition: fwd.hh:65
shared_ptr< ConstraintSet > ConstraintSetPtr_t
Definition: fwd.hh:138
constraints::ImplicitPtr_t ImplicitPtr_t
Definition: fwd.hh:131
core::size_type size_type
Definition: fwd.hh:90
core::value_type value_type
Definition: fwd.hh:89
shared_ptr< Device > DevicePtr_t
Definition: fwd.hh:40
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition: fwd.hh:49
core::vector_t vector_t
Definition: fwd.hh:92
core::ConstraintPtr_t ConstraintPtr_t
Definition: fwd.hh:128