From e59f37d2457f5e4f5f00a4ae99be4f8428039aa3 Mon Sep 17 00:00:00 2001
From: Florent Lamiraux <florent@laas.fr>
Date: Tue, 31 Mar 2020 12:06:58 +0200
Subject: [PATCH] [LevelSetEdge] Add read access to condition parameterization
 constraints.

---
 include/hpp/manipulation/graph/edge.hh |  9 ++++++++-
 src/graph/edge.cc                      | 10 ++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/include/hpp/manipulation/graph/edge.hh b/include/hpp/manipulation/graph/edge.hh
index d69dcd02..c00f49ad 100644
--- a/include/hpp/manipulation/graph/edge.hh
+++ b/include/hpp/manipulation/graph/edge.hh
@@ -532,7 +532,8 @@ namespace hpp {
           /// The condition constraints should therefore be the constraints of
           /// the target state of the level set edge.
           ///
-          /// \sa LevelSetEdge::insertConditionConstraint
+          /// \sa LevelSetEdge::conditionConstraints
+          ///     LevelSetEdge::insertConditionConstraint
           LeafHistogramPtr_t histogram () const;
 
           /// \name Foliation definition
@@ -545,11 +546,17 @@ namespace hpp {
           void insertParamConstraint (const ImplicitPtr_t& nm,
               const segments_t& passiveDofs = segments_t ());
 
+          /// Get constraints parameterizing the target state foliation
+          const NumericalConstraints_t& paramConstraints() const;
+
           /// Insert a condition constraint
           /// \sa LevelSetEdge::histogram
           void insertConditionConstraint (const ImplicitPtr_t& nm,
               const segments_t& passiveDofs = segments_t ());
 
+          /// Get constraints parameterizing the target state foliation
+          /// \sa LevelSetEdge::histogram
+          const NumericalConstraints_t& conditionConstraints() const;
           /// \}
 
           /// Print the object in a stream.
diff --git a/src/graph/edge.cc b/src/graph/edge.cc
index d59e75be..45b90fca 100644
--- a/src/graph/edge.cc
+++ b/src/graph/edge.cc
@@ -822,6 +822,11 @@ namespace hpp {
         paramPassiveDofs_.push_back (passiveDofs);
       }
 
+      const NumericalConstraints_t& LevelSetEdge::paramConstraints() const
+      {
+        return paramNumericalConstraints_;
+      }
+
       void LevelSetEdge::insertConditionConstraint
       (const constraints::ImplicitPtr_t& nm,
               const segments_t& passiveDofs)
@@ -831,6 +836,11 @@ namespace hpp {
         condPassiveDofs_.push_back (passiveDofs);
       }
 
+      const NumericalConstraints_t& LevelSetEdge::conditionConstraints() const
+      {
+        return condNumericalConstraints_;
+      }
+
       LevelSetEdge::LevelSetEdge
       (const std::string& name) :
 	Edge (name)
-- 
GitLab