29#ifndef HPP_MANIPULATION_GRAPH_VALIDATION_REPORT_HH
30#define HPP_MANIPULATION_GRAPH_VALIDATION_REPORT_HH
32#include <hpp/core/validation-report.hh>
41namespace manipulation {
55 Validation(
const core::ProblemPtr_t& problem) : problem_(problem) {}
66 virtual std::ostream&
print(std::ostream& os)
const;
92 return collisions_[nodeName];
97 warnings_.push_back(Message(c, w));
100 void addError(
const GraphComponentPtr_t& c,
const std::string& w) {
101 errors_.push_back(Message(c, w));
104 void addCollision(
const GraphComponentPtr_t& c,
const std::string& obj1,
105 const std::string& obj2) {
106 Collision coll = Collision{obj1, obj2};
107 collisions_[c->name()].push_back(coll);
110 typedef std::pair<GraphComponentPtr_t, std::string> Message;
111 std::vector<Message> warnings_, errors_;
112 CollisionMap collisions_;
114 core::ProblemPtr_t problem_;
Definition validation.hh:50
virtual std::ostream & print(std::ostream &os) const
std::vector< Collision > CollisionList
Definition validation.hh:53
bool validateGraph(const GraphPtr_t &graph)
bool validateState(const StatePtr_t &state)
CollisionList getCollisionsForNode(const std::string &nodeName)
Definition validation.hh:91
Validation(const core::ProblemPtr_t &problem)
Definition validation.hh:55
bool validateEdge(const EdgePtr_t &edge)
void clear()
Definition validation.hh:57
bool validate(const GraphComponentPtr_t &comp)
std::map< std::string, CollisionList > CollisionMap
Definition validation.hh:54
std::vector< std::string > Collision
Definition validation.hh:52
bool hasErrors() const
Definition validation.hh:64
bool hasWarnings() const
Definition validation.hh:62
#define HPP_MANIPULATION_DLLAPI
Definition config.hh:88
std::ostream & operator<<(std::ostream &os, const GraphComponent &graphComp)
shared_ptr< Edge > EdgePtr_t
Definition fwd.hh:49
shared_ptr< State > StatePtr_t
Definition fwd.hh:48
shared_ptr< GraphComponent > GraphComponentPtr_t
Definition fwd.hh:54
shared_ptr< Graph > GraphPtr_t
Definition fwd.hh:47