From 11c6ce22ef17bb41f484d5f5aeb1acb34b9c28ea Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Mon, 11 Sep 2017 11:20:42 +0000 Subject: static constructor solution git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/persistence_representation_integration@2654 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: c4bc07a1f184100bce4fac33fea99349941bc911 --- .../cython/persistence_representations_landscapes.pyx | 16 ++++++++-------- src/cython/include/Persistence_landscape_interface.h | 7 +++---- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/cython/cython/persistence_representations_landscapes.pyx b/src/cython/cython/persistence_representations_landscapes.pyx index 416c5ba6..39b62439 100644 --- a/src/cython/cython/persistence_representations_landscapes.pyx +++ b/src/cython/cython/persistence_representations_landscapes.pyx @@ -37,8 +37,8 @@ __license__ = "GPL v3" cdef extern from "Persistence_landscape_interface.h" namespace "Gudhi::Persistence_representations": cdef cppclass Persistence_landscape_interface "Gudhi::Persistence_representations::Persistence_landscape_interface": Persistence_landscape_interface() - Persistence_landscape_interface(vector[pair[double, double]], bool, size_t) - Persistence_landscape_interface(const char*, size_t , size_t) + #Persistence_landscape_interface(vector[pair[double, double]], bool, size_t) + #Persistence_landscape_interface(const char*, size_t , size_t) void load_landscape_from_file(const char*) void print_to_file(const char*)const double compute_integral_of_landscape()const @@ -63,9 +63,9 @@ cdef extern from "Persistence_landscape_interface.h" namespace "Gudhi::Persisten #************** #static methods @staticmethod - Persistence_landscape_interface* construct_from_file( const char*, size_t, size_t) - #@staticmethod - #cdef Persistence_landscape_interface* Persistence_landscape_interface_construct_from_vector_of_pairs "Persistence_landscape_interface::construct_from_vector_of_pairs"( const vector[pair[double, double]], size_t) + Persistence_landscape_interface* construct_from_file( const char*, size_t, size_t) + @staticmethod + Persistence_landscape_interface* construct_from_vector_of_pairs( const vector[pair[double, double]], size_t) #*************** @@ -132,15 +132,15 @@ cdef class PersistenceLandscapes: if (dimension is not None): if os.path.isfile(file_with_intervals): #self.thisptr = new Persistence_landscape_interface(file_with_intervals, dimension, number_of_levels) - self.thisptr = Persistence_landscape_interface::construct_from_file(file_with_intervals, dimension, number_of_levels) + self.thisptr = Persistence_landscape_interface.construct_from_file(file_with_intervals, dimension, number_of_levels) else: print("file " + file_with_intervals + " not found.") else: #self.thisptr = new Persistence_landscape_interface(file_with_intervals, number_of_levels) - self.thisptr = Persistence_landscape_interface::construct_from_file(file_with_intervals,0, number_of_levels) + self.thisptr = Persistence_landscape_interface.construct_from_file(file_with_intervals,0, number_of_levels) elif (file_with_intervals is '') and (vector_of_intervals is not None): #self.thisptr = new Persistence_landscape_interface(vector_of_intervals, true, number_of_levels) - self.thisptr = Persistence_landscape_interface::construct_from_vector_of_pairs(vector_of_intervals, number_of_levels) + self.thisptr = Persistence_landscape_interface.construct_from_vector_of_pairs(vector_of_intervals, number_of_levels) else: print("Persistence interals can be constructed from vector of birth-death pairs, vector_of_intervals or a Gudhi-style file.") self.thisptr = new Persistence_landscape_interface() diff --git a/src/cython/include/Persistence_landscape_interface.h b/src/cython/include/Persistence_landscape_interface.h index 3261c403..339031d4 100644 --- a/src/cython/include/Persistence_landscape_interface.h +++ b/src/cython/include/Persistence_landscape_interface.h @@ -36,18 +36,17 @@ class Persistence_landscape_interface : public Persistence_landscape Persistence_landscape_interface(const std::vector >& p, size_t number_of_levels = std::numeric_limits::max() ):Persistence_landscape(p,number_of_levels){} - Persistence_landscape_interface(const char* filename, size_t dimension = std::numeric_limits::max() , size_t number_of_levels = std::numeric_limits::max() ):Persistence_landscape(filename,dimension,number_of_levels){} - + Persistence_landscape_interface(const char* filename, size_t dimension = std::numeric_limits::max() , size_t number_of_levels = std::numeric_limits::max() ):Persistence_landscape(filename,dimension,number_of_levels){} //**************** static Persistence_landscape_interface* construct_from_file( const char* filename, size_t dimension = std::numeric_limits::max() , size_t number_of_levels = std::numeric_limits::max() ) { - Persistence_landscape_interface* result = new Persistence_landscape_interface(filename,dimension,number_of_levels); + Persistence_landscape_interface* result = new Persistence_landscape_interface(filename,dimension,number_of_levels); return result; } static Persistence_landscape_interface* construct_from_vector_of_pairs( const std::vector >& p, size_t number_of_levels = std::numeric_limits::max() ) { - Persistence_landscape_interface* result = new Persistence_landscape_interface(p,number_of_levels); + Persistence_landscape_interface* result = new Persistence_landscape_interface(p,number_of_levels); return result; } -- cgit v1.2.3