From b1c35b1469a58030e59217d27840e76f275d62f0 Mon Sep 17 00:00:00 2001
From: Niklaus Johner <niklaus.johner@unibas.ch>
Date: Tue, 31 Mar 2015 14:52:36 +0200
Subject: [PATCH] Changed export for SuperposeSVD to make it work in python.

Changed std::vec<geom::Vec3> into geom::Vec3List.
---
 modules/mol/alg/pymod/export_svd_superpose.cc | 4 ++--
 modules/mol/alg/src/svd_superpose.cc          | 8 ++++----
 modules/mol/alg/src/svd_superpose.hh          | 8 ++++----
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/modules/mol/alg/pymod/export_svd_superpose.cc b/modules/mol/alg/pymod/export_svd_superpose.cc
index d5f942fe7..87e4cbbc7 100644
--- a/modules/mol/alg/pymod/export_svd_superpose.cc
+++ b/modules/mol/alg/pymod/export_svd_superpose.cc
@@ -35,9 +35,9 @@ using namespace ost::mol::alg;
 void export_svdSuperPose()
 {
   SuperpositionResult (*sup1)(const mol::EntityView&,const mol::EntityView&,bool) = SuperposeSVD;
-  SuperpositionResult (*sup2)(const std::vector<geom::Vec3>&,const std::vector<geom::Vec3>& ) = SuperposeSVD;
+  SuperpositionResult (*sup2)(const geom::Vec3List&,const geom::Vec3List& ) = SuperposeSVD;
   SuperpositionResult (*sup3)(const mol::EntityView&,const mol::EntityView&, int, Real, bool) = IterativeSuperposeSVD;
-  SuperpositionResult (*sup4)(const std::vector<geom::Vec3>&,const std::vector<geom::Vec3>&, int, Real) = IterativeSuperposeSVD;
+  SuperpositionResult (*sup4)(const geom::Vec3List&,const geom::Vec3List&, int, Real) = IterativeSuperposeSVD;
   class_<SuperpositionResult>("SuperpositionResult", init<>())
     .def_readwrite("ncycles", &SuperpositionResult::ncycles)
     .def_readwrite("rmsd", &SuperpositionResult::rmsd)
diff --git a/modules/mol/alg/src/svd_superpose.cc b/modules/mol/alg/src/svd_superpose.cc
index fbc69cd1d..fd789b867 100644
--- a/modules/mol/alg/src/svd_superpose.cc
+++ b/modules/mol/alg/src/svd_superpose.cc
@@ -469,8 +469,8 @@ SuperpositionResult SuperposeSVD(const mol::EntityView& ev1,
   return result;
 }
 
-SuperpositionResult SuperposeSVD(const std::vector<geom::Vec3>& pl1,
-                                 const std::vector<geom::Vec3>& pl2)
+SuperpositionResult SuperposeSVD(const geom::Vec3List& pl1,
+                                 const geom::Vec3List& pl2)
 {
   MeanSquareMinimizer msm = MeanSquareMinimizer::FromPointLists(pl1, pl2);
   SuperpositionResult result = msm.MinimizeOnce();
@@ -505,8 +505,8 @@ SuperpositionResult IterativeSuperposeSVD(const mol::EntityView& ev,
   return result;
 }
 
-SuperpositionResult IterativeSuperposeSVD(const std::vector<geom::Vec3>& pl1,
-                                          const std::vector<geom::Vec3>& pl2,
+SuperpositionResult IterativeSuperposeSVD(const geom::Vec3List& pl1,
+                                          const geom::Vec3List& pl2,
                                           int max_cycles,
                                           Real distance_threshold){
 
diff --git a/modules/mol/alg/src/svd_superpose.hh b/modules/mol/alg/src/svd_superpose.hh
index 28ee7a0d4..72719c2e6 100644
--- a/modules/mol/alg/src/svd_superpose.hh
+++ b/modules/mol/alg/src/svd_superpose.hh
@@ -92,8 +92,8 @@ SuperpositionResult DLLEXPORT_OST_MOL_ALG SuperposeSVD(const mol::EntityView& ev
                                                     bool apply_transform);
 
 /// \brief superposes two pointlists
-SuperpositionResult DLLEXPORT_OST_MOL_ALG SuperposeSVD(const std::vector<geom::Vec3>& pl1,
-                                                       const std::vector<geom::Vec3>& pl2);
+SuperpositionResult DLLEXPORT_OST_MOL_ALG SuperposeSVD(const geom::Vec3List& pl1,
+                                                       const geom::Vec3List& pl2);
 
 /// \brief iterative superposition
 SuperpositionResult DLLEXPORT_OST_MOL_ALG IterativeSuperposeSVD(const mol::EntityView& ev1,
@@ -103,8 +103,8 @@ SuperpositionResult DLLEXPORT_OST_MOL_ALG IterativeSuperposeSVD(const mol::Entit
                                                                 bool apply_transform);
 
 /// \brief iterative superposition of two point lists
-SuperpositionResult DLLEXPORT_OST_MOL_ALG IterativeSuperposeSVD(const std::vector<geom::Vec3>& pl1,
-                                                                const std::vector<geom::Vec3>& pl2,
+SuperpositionResult DLLEXPORT_OST_MOL_ALG IterativeSuperposeSVD(const geom::Vec3List& pl1,
+                                                                const geom::Vec3List& pl2,
                                                                 int max_cycles,
                                                                 Real distance_threshold);
 
-- 
GitLab