diff --git a/include/hpp/manipulation/connected-component.hh b/include/hpp/manipulation/connected-component.hh index 4dbc5ea2a92c7cdfb6797b44bed484dc6b5ee687..a27c6cf26dc20187ba77c6f710c22dd82a70fd4d 100644 --- a/include/hpp/manipulation/connected-component.hh +++ b/include/hpp/manipulation/connected-component.hh @@ -55,7 +55,7 @@ class HPP_MANIPULATION_DLLAPI ConnectedComponent : public core::ConnectedCompone /// Add roadmap node to connected component /// \param roadmap node to be added - void addNode (const RoadmapNodePtr_t& node); + void addNode (const core::NodePtr_t& node); RoadmapNodes_t getRoadmapNodes (const graph::NodePtr_t graphNode); diff --git a/src/connected-component.cc b/src/connected-component.cc index dd230296878d9d6067ce008fa8050e1d0e548af8..3c2a3fe19df96483277e6a5482a203804203349f 100644 --- a/src/connected-component.cc +++ b/src/connected-component.cc @@ -61,19 +61,20 @@ namespace hpp { other->graphNodeMap_.clear(); } - void ConnectedComponent::addNode(const RoadmapNodePtr_t& node) + void ConnectedComponent::addNode(const core::NodePtr_t& node) { core::ConnectedComponent::addNode(node); // Find right graph node in map and add roadmap node to corresponding vector - GraphNodes_t::iterator mapIt = graphNodeMap_.find(roadmap_->getNode(node)); + const RoadmapNodePtr_t& n = static_cast <const RoadmapNodePtr_t> (node); + GraphNodes_t::iterator mapIt = graphNodeMap_.find(roadmap_->getNode(n)); if (mapIt != graphNodeMap_.end()) { - mapIt->second.push_back(node); + mapIt->second.push_back(n); // if graph node not found, add new map element with one roadmap node } else { RoadmapNodes_t newRoadmapNodeVector; - newRoadmapNodeVector.push_back(node); + newRoadmapNodeVector.push_back(n); graphNodeMap_.insert(std::pair<graph::NodePtr_t, RoadmapNodes_t> - (roadmap_->getNode(node), newRoadmapNodeVector)); + (roadmap_->getNode(n), newRoadmapNodeVector)); } }