From 01ad25d801c2ca5ef510d2317d017d3c2f83455d Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de>
Date: Thu, 13 Apr 2023 12:58:31 +0200
Subject: [PATCH] rm Frame::clonedAxes

---
 Base/Axis/Frame.cpp                 |  5 -----
 Base/Axis/Frame.h                   |  3 ---
 Device/Data/Datafield.cpp           |  6 +++---
 auto/Wrap/libBornAgainBase.py       |  4 ----
 auto/Wrap/libBornAgainBase_wrap.cpp | 24 ------------------------
 5 files changed, 3 insertions(+), 39 deletions(-)

diff --git a/Base/Axis/Frame.cpp b/Base/Axis/Frame.cpp
index 07c71f8d2cc..1419a2f766d 100644
--- a/Base/Axis/Frame.cpp
+++ b/Base/Axis/Frame.cpp
@@ -57,11 +57,6 @@ const IAxis& Frame::yAxis() const
     return *m_axes.at(1);
 }
 
-std::vector<const IAxis*> Frame::clonedAxes() const
-{
-    return m_axes.cloned_vector();
-}
-
 size_t Frame::projectedSize(size_t k_axis) const
 {
     return m_axes[k_axis]->size();
diff --git a/Base/Axis/Frame.h b/Base/Axis/Frame.h
index 9f17d6704e2..bc087b59f83 100644
--- a/Base/Axis/Frame.h
+++ b/Base/Axis/Frame.h
@@ -41,9 +41,6 @@ public:
     //! Returns number of bins along axis.
     size_t projectedSize(size_t k_axis) const;
 
-    //! Returns cloned axes.
-    std::vector<const IAxis*> clonedAxes() const;
-
     //! Returns axis with given serial number
     const IAxis& axis(size_t k_axis) const;
     const IAxis& xAxis() const;
diff --git a/Device/Data/Datafield.cpp b/Device/Data/Datafield.cpp
index c5ba57ea5c3..ee78d377e38 100644
--- a/Device/Data/Datafield.cpp
+++ b/Device/Data/Datafield.cpp
@@ -78,7 +78,7 @@ Datafield::~Datafield() = default;
 
 Datafield* Datafield::clone() const
 {
-    auto* data = new Datafield(frame().clonedAxes(), m_values, m_errSigmas);
+    auto* data = new Datafield(frame().clone(), m_values, m_errSigmas);
     return data;
 }
 
@@ -204,7 +204,7 @@ Datafield* Datafield::crop(double xmin, double ymin, double xmax, double ymax) c
         if (xaxis->contains(x) && yaxis->contains(y))
             out[iout++] = m_values[i];
     }
-    return new Datafield(frame().clonedAxes(), out);
+    return new Datafield(frame().clone(), out);
 }
 
 Datafield* Datafield::crop(double xmin, double xmax) const
@@ -218,7 +218,7 @@ Datafield* Datafield::crop(double xmin, double xmax) const
         if (xaxis->contains(x))
             out[iout++] = m_values[i];
     }
-    return new Datafield(frame().clonedAxes(), out);
+    return new Datafield(frame().clone(), out);
 }
 
 #ifdef BORNAGAIN_PYTHON
diff --git a/auto/Wrap/libBornAgainBase.py b/auto/Wrap/libBornAgainBase.py
index eaca1cf9373..3f3c52f098f 100644
--- a/auto/Wrap/libBornAgainBase.py
+++ b/auto/Wrap/libBornAgainBase.py
@@ -2100,10 +2100,6 @@ class Frame(object):
         r"""projectedSize(Frame self, size_t k_axis) -> size_t"""
         return _libBornAgainBase.Frame_projectedSize(self, k_axis)
 
-    def clonedAxes(self):
-        r"""clonedAxes(Frame self) -> std::vector< IAxis const *,std::allocator< IAxis const * > >"""
-        return _libBornAgainBase.Frame_clonedAxes(self)
-
     def axis(self, k_axis):
         r"""axis(Frame self, size_t k_axis) -> IAxis"""
         return _libBornAgainBase.Frame_axis(self, k_axis)
diff --git a/auto/Wrap/libBornAgainBase_wrap.cpp b/auto/Wrap/libBornAgainBase_wrap.cpp
index 91f18e84660..670f38343be 100644
--- a/auto/Wrap/libBornAgainBase_wrap.cpp
+++ b/auto/Wrap/libBornAgainBase_wrap.cpp
@@ -27204,29 +27204,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Frame_clonedAxes(PyObject *self, PyObject *args) {
-  PyObject *resultobj = 0;
-  Frame *arg1 = (Frame *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject *swig_obj[1] ;
-  SwigValueWrapper< std::vector< IAxis const *,std::allocator< IAxis const * > > > result;
-  
-  if (!args) SWIG_fail;
-  swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Frame, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Frame_clonedAxes" "', argument " "1"" of type '" "Frame const *""'"); 
-  }
-  arg1 = reinterpret_cast< Frame * >(argp1);
-  result = ((Frame const *)arg1)->clonedAxes();
-  resultobj = SWIG_NewPointerObj((new std::vector< IAxis const *,std::allocator< IAxis const * > >(result)), SWIGTYPE_p_std__vectorT_IAxis_const_p_std__allocatorT_IAxis_const_p_t_t, SWIG_POINTER_OWN |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_Frame_axis(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Frame *arg1 = (Frame *) 0 ;
@@ -29604,7 +29581,6 @@ static PyMethodDef SwigMethods[] = {
 	 { "Frame_rank", _wrap_Frame_rank, METH_O, "Frame_rank(Frame self) -> size_t"},
 	 { "Frame_size", _wrap_Frame_size, METH_O, "Frame_size(Frame self) -> size_t"},
 	 { "Frame_projectedSize", _wrap_Frame_projectedSize, METH_VARARGS, "Frame_projectedSize(Frame self, size_t k_axis) -> size_t"},
-	 { "Frame_clonedAxes", _wrap_Frame_clonedAxes, METH_O, "Frame_clonedAxes(Frame self) -> std::vector< IAxis const *,std::allocator< IAxis const * > >"},
 	 { "Frame_axis", _wrap_Frame_axis, METH_VARARGS, "Frame_axis(Frame self, size_t k_axis) -> IAxis"},
 	 { "Frame_xAxis", _wrap_Frame_xAxis, METH_O, "Frame_xAxis(Frame self) -> IAxis"},
 	 { "Frame_yAxis", _wrap_Frame_yAxis, METH_O, "Frame_yAxis(Frame self) -> IAxis"},
-- 
GitLab