diff --git a/src/manipulation-planner.cc b/src/manipulation-planner.cc index e3071f29192272f2dae8f2a1b69f6f69b384f7ab..a2b9e55c70c7006dd4e680c90f198cea0c78bc4f 100644 --- a/src/manipulation-planner.cc +++ b/src/manipulation-planner.cc @@ -68,20 +68,22 @@ namespace hpp { bool pathIsValid = extend (near->configuration (), q_rand, path); // Insert new path to q_near in roadmap - value_type t_final = path->timeRange ().second; - if (pathIsValid && t_final != path->timeRange ().first) { - ConfigurationPtr_t q_new (new Configuration_t - ((*path) (t_final))); - if (!belongs (q_new, newNodes)) { - newNodes.push_back (roadmap ()->addNodeAndEdges - (near, q_new, path)); - } else { - core::NodePtr_t newNode = roadmap ()->addNode (q_new); - roadmap ()->addEdge (near, newNode, path); - core::interval_t timeRange = path->timeRange (); - roadmap ()->addEdge (newNode, near, path->extract - (core::interval_t (timeRange.second , - timeRange.first))); + if (pathIsValid) { + value_type t_final = path->timeRange ().second; + if (t_final != path->timeRange ().first) { + ConfigurationPtr_t q_new (new Configuration_t + ((*path) (t_final))); + if (!belongs (q_new, newNodes)) { + newNodes.push_back (roadmap ()->addNodeAndEdges + (near, q_new, path)); + } else { + core::NodePtr_t newNode = roadmap ()->addNode (q_new); + roadmap ()->addEdge (near, newNode, path); + core::interval_t timeRange = path->timeRange (); + roadmap ()->addEdge (newNode, near, path->extract + (core::interval_t (timeRange.second , + timeRange.first))); + } } } }