diff --git a/src/pyhpp/manipulation/problem.cc b/src/pyhpp/manipulation/problem.cc index 3058204..498daf7 100644 --- a/src/pyhpp/manipulation/problem.cc +++ b/src/pyhpp/manipulation/problem.cc @@ -55,13 +55,10 @@ Problem::Problem(const hpp::manipulation::ProblemPtr_t& object) void Problem::constraintGraph(const PyWGraphPtr_t& graph) { asManipulationProblem()->constraintGraph(graph->obj); + graph_ = graph; } -PyWGraphPtr_t Problem::constraintGraph() const { - pyhpp::manipulation::PyWGraph* graph = - new PyWGraph(asManipulationProblem()->constraintGraph()); - return std::shared_ptr(graph); -} +PyWGraphPtr_t Problem::constraintGraph() const { return graph_; } void Problem::checkProblem() const { asManipulationProblem()->checkProblem(); } diff --git a/src/pyhpp/manipulation/problem.hh b/src/pyhpp/manipulation/problem.hh index ae8df70..e04c165 100644 --- a/src/pyhpp/manipulation/problem.hh +++ b/src/pyhpp/manipulation/problem.hh @@ -49,6 +49,7 @@ namespace manipulation { // Wrapper class for hpp::manipulation::Problem struct Problem : public pyhpp::core::Problem { hpp::core::Container jointAndShapes; + PyWGraphPtr_t graph_; Problem(const PyWDevicePtr_t& robot); Problem(const hpp::manipulation::ProblemPtr_t& object);