PersistentLaplacians
PersistentAlphaLaplacian.hpp
Go to the documentation of this file.
1 #ifndef PL_A_H
2 #define PL_A_H
3 
4 #include "../core/PersistentLaplacian.hpp"
5 
6 
7 // #include <gudhi/Simplex_tree.h>
8 // #include <gudhi/Points_3D_off_io.h>
9 // #include <boost/variant.hpp>
10 // #include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
11 // #include <CGAL/Delaunay_triangulation_3.h>
12 // #include <CGAL/Alpha_shape_3.h>
13 // #include <CGAL/Alpha_shape_vertex_base_3.h>
14 // #include <CGAL/Alpha_shape_cell_base_3.h>
15 // #include <CGAL/iterator.h>
16 
17 // // Alpha_shape_3 templates type definitions
18 // typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
19 // typedef CGAL::Alpha_shape_vertex_base_3<Kernel> Vb;
20 // typedef CGAL::Alpha_shape_cell_base_3<Kernel> Fb;
21 // typedef CGAL::Triangulation_data_structure_3<Vb, Fb> Tds;
22 // typedef CGAL::Delaunay_triangulation_3<Kernel, Tds> Triangulation_3;
23 // typedef CGAL::Alpha_shape_3<Triangulation_3> Alpha_shape_3;
24 // // From file type definition
25 // typedef Kernel::Point_3 Point;
26 // // filtration with alpha values needed type definition
27 // typedef Alpha_shape_3::FT Alpha_value_type;
28 // typedef CGAL::Object Object;
29 // typedef CGAL::Dispatch_output_iterator<
30 // CGAL::cpp11::tuple<Object, Alpha_value_type>,
31 // CGAL::cpp11::tuple<std::back_insert_iterator<std::vector<Object>>,
32 // std::back_insert_iterator<std::vector<Alpha_value_type>>>>
33 // Dispatch;
34 // typedef Alpha_shape_3::Cell_handle Cell_handle;
35 // typedef Alpha_shape_3::Facet Facet;
36 // typedef Alpha_shape_3::Edge Edge;
37 // typedef std::list<Alpha_shape_3::Vertex_handle> Vertex_list;
38 // // gudhi type definition
39 // typedef Gudhi::Simplex_tree<> Simplex_tree;
40 // typedef Simplex_tree::Vertex_handle Simplex_tree_vertex;
41 // typedef std::map<Alpha_shape_3::Vertex_handle, Simplex_tree_vertex> Alpha_shape_simplex_tree_map;
42 // typedef std::pair<Alpha_shape_3::Vertex_handle, Simplex_tree_vertex> Alpha_shape_simplex_tree_pair;
43 // typedef std::vector<Simplex_tree_vertex> Simplex_tree_vector_vertex;
44 
45 
46 
47 namespace PersistentLaplacians{
49  public:
50  PersistentAlphaLaplacian(const char* filename, int max_dim); // .OFF file
51  PersistentAlphaLaplacian(std::vector<std::tuple<double,double,double>> points, int max_dim); // coordinantes
52  // note that public API not using Gudhi type Point_3
53  // so caller does not need knowledge of Gudhi
54  // TODO: should pass points by reference, but pybind11 has problems
55 
56  private:
57  // void alpha_points(std::vector<Point> &points, int dim_max, std::vector<std::vector<std::tuple<int,int,int>>>& boundaries_triples,std::vector<std::vector<filtration_type>>& filtrations);
58  // void alpha_OFF(const char* filename, int dim_max, std::vector<std::vector<std::tuple<int,int,int>>>& boundaries_triples,std::vector<std::vector<filtration_type>>& filtrations);
59  // // void boundary_triples_and_filtrations_to_reindexed(std::vector<std::vector<std::tuple<int,int,int>>> &boundaries_triples,
60  // std::vector<std::vector<std::pair<int,filtration_type>>> &filtrations,
61  // std::vector<SparseMatrixInt> &reindexed_boundaries,
62  // std::vector<std::vector<filtration_type>> &filtrations_new);
63  // void reindex_boundaries_triple(std::vector<std::vector<std::tuple<index_t,index_t,int>>>& boundaries_triples);
64 
65  };
66 }
67 
68 #endif
Definition: PersistentAlphaLaplacian.hpp:48
PersistentAlphaLaplacian(const char *filename, int max_dim)
Definition: PersistentAlphaLaplacian.cpp:51
Definition: PersistentLaplacian.hpp:30
Definition: PersistentLaplacians.cpp:7