Manicore
Library to implement schemes on n-dimensionnal manifolds.
loader.hpp
Go to the documentation of this file.
1 #ifndef LOADER_HPP_INCLUDED
2 #define LOADER_HPP_INCLUDED
3 
4 #include "map_interface.hpp"
5 
10 namespace Manicore {
11 
17 
19 
21  template<size_t dimension>
22  class Maps_loader {
23  public:
24  Maps_loader(const char * );
25  ~Maps_loader();
26 
28  ParametrizedMap<3,dimension>* get_new_embedding_3D(size_t id, std::vector<double> const &extra) const;
30  ParametrizedDerivedMap<3,dimension>* get_new_pullback_3D(size_t id, std::vector<double> const &extra) const;
32  ParametrizedMetricMap<dimension>* get_new_metrics(size_t id, std::vector<double> const &extra) const;
34  ParametrizedMap<dimension,1>* get_new_edge_map(size_t id, std::vector<double> const &extra) const;
36  ParametrizedMap<dimension,2>* get_new_face_map(size_t id, std::vector<double> const &extra) const;
38  ParametrizedMap<dimension,3>* get_new_cell_map(size_t id, std::vector<double> const &extra) const;
40  ParametrizedDerivedMap<dimension,1>* get_new_edge_pullbacks(size_t id, std::vector<double> const &extra) const;
42  ParametrizedDerivedMap<dimension,2>* get_new_face_pullbacks(size_t id, std::vector<double> const &extra) const;
44  ParametrizedDerivedMap<dimension,3>* get_new_cell_pullbacks(size_t id, std::vector<double> const &extra) const;
45 
46  private:
47  void *_handle;
48  ParametrizedMap<3,dimension>* (*_3D_embedding)(size_t);
49  ParametrizedDerivedMap<3,dimension>* (*_3D_pullback)(size_t);
50  ParametrizedMetricMap<dimension>* (*_metrics)(size_t);
51  ParametrizedMap<dimension,1>* (*_edge_maps)(size_t);
52  ParametrizedMap<dimension,2>* (*_face_maps)(size_t);
53  ParametrizedMap<dimension,3>* (*_cell_maps)(size_t);
54  ParametrizedDerivedMap<dimension,1>* (*_edge_pullbacks)(size_t);
55  ParametrizedDerivedMap<dimension,2>* (*_face_pullbacks)(size_t);
56  ParametrizedDerivedMap<dimension,3>* (*_cell_pullbacks)(size_t);
57  void _setup_maps();
58  };
60 
61 } // end namespace
62 
63 #endif
64 
Class to load a shared library.
Definition: loader.hpp:22
ParametrizedMap< 3, dimension > * get_new_embedding_3D(size_t id) const
Definition: loader.cpp:79
~Maps_loader()
Definition: loader.cpp:74
ParametrizedMap< dimension, 2 > * get_new_face_map(size_t id) const
Definition: loader.cpp:132
ParametrizedDerivedMap< dimension, 1 > * get_new_edge_pullbacks(size_t id) const
Definition: loader.cpp:160
ParametrizedMap< dimension, 1 > * get_new_edge_map(size_t id) const
Definition: loader.cpp:119
ParametrizedDerivedMap< dimension, 3 > * get_new_cell_pullbacks(size_t id) const
Definition: loader.cpp:187
Maps_loader(const char *)
Definition: loader.cpp:26
ParametrizedMetricMap< dimension > * get_new_metrics(size_t id) const
Definition: loader.cpp:105
ParametrizedMap< dimension, 3 > * get_new_cell_map(size_t id) const
Definition: loader.cpp:146
ParametrizedDerivedMap< 3, dimension > * get_new_pullback_3D(size_t id) const
Definition: loader.cpp:92
ParametrizedDerivedMap< dimension, 2 > * get_new_face_pullbacks(size_t id) const
Definition: loader.cpp:173
Interface used to provide a mesh.
Definition: maxwell.hpp:21
Used to specify the ambient metric.
Definition: definitions.hpp:54