Skip to content
Snippets Groups Projects
Commit 62500c15 authored by Dr. Felix Tobias Schindler's avatar Dr. Felix Tobias Schindler
Browse files

[python] streamline

* prefix most .so with _mod_name, to identify cmake targets
* use same import mechanism
parent 7dbb63ea
No related branches found
No related tags found
2 merge requests!20Update bindings,!11WIP: Update bindings
......@@ -54,16 +54,16 @@ void all_grids<boost::tuples::null_type>(pybind11::module&)
{}
PYBIND11_MODULE(_indicator, m)
PYBIND11_MODULE(_functions_indicator, m)
{
namespace py = pybind11;
py::module::import("dune.xt.common");
py::module::import("dune.xt.la");
py::module::import("dune.xt.grid");
py::module::import("dune.xt.functions._gridfunction_interface_1d");
py::module::import("dune.xt.functions._gridfunction_interface_2d");
py::module::import("dune.xt.functions._gridfunction_interface_3d");
py::module::import("dune.xt.functions._functions_gridfunction_interface_1d");
py::module::import("dune.xt.functions._functions_gridfunction_interface_2d");
py::module::import("dune.xt.functions._functions_gridfunction_interface_3d");
all_grids(m);
......
......@@ -51,16 +51,16 @@ void all_grids<boost::tuples::null_type>(pybind11::module&)
{}
PYBIND11_MODULE(_spe10, m)
PYBIND11_MODULE(_functions_spe10, m)
{
namespace py = pybind11;
py::module::import("dune.xt.common");
py::module::import("dune.xt.la");
py::module::import("dune.xt.grid");
py::module::import("dune.xt.functions._gridfunction_interface_1d");
py::module::import("dune.xt.functions._gridfunction_interface_2d");
py::module::import("dune.xt.functions._gridfunction_interface_3d");
py::module::import("dune.xt.functions._functions_gridfunction_interface_1d");
py::module::import("dune.xt.functions._functions_gridfunction_interface_2d");
py::module::import("dune.xt.functions._functions_gridfunction_interface_3d");
all_grids(m);
}
......@@ -12,9 +12,9 @@
# Tobias Leibner (2019)
# ~~~
dune_pybindxi_add_module(_boundaryinfo EXCLUDE_FROM_ALL boundaryinfo.cc)
dune_pybindxi_add_module(_types EXCLUDE_FROM_ALL types.cc)
dune_pybindxi_add_module(_walker EXCLUDE_FROM_ALL walker.cc)
dune_pybindxi_add_module(_grid_boundaryinfo EXCLUDE_FROM_ALL boundaryinfo.cc)
dune_pybindxi_add_module(_grid_gridprovider_cube EXCLUDE_FROM_ALL gridprovider/cube.cc)
dune_pybindxi_add_module(_grid_gridprovider_provider EXCLUDE_FROM_ALL gridprovider/provider.cc)
dune_pybindxi_add_module(_grid_traits EXCLUDE_FROM_ALL traits.cc)
dune_pybindxi_add_module(_grid_types EXCLUDE_FROM_ALL types.cc)
dune_pybindxi_add_module(_grid_walker EXCLUDE_FROM_ALL walker.cc)
......@@ -11,17 +11,28 @@
# Tobias Leibner (2019)
# ~~~
from numbers import Number
from dune.xt import guarded_import
for mod_name in (
'_boundaryinfo',
'_types',
'_walker',
'_provider',
'_grid_boundaryinfo',
'_grid_gridprovider_cube',
'_grid_gridprovider_provider',
'_grid_traits',
'_grid_types',
'_grid_walker',
):
guarded_import(globals(), 'dune.xt.grid', mod_name)
def Dim(d):
assert isinstance(d, Number)
if f'Dimension{d}' not in globals():
raise RuntimeError(f'Dimension {d} not available, extend <python/dune/xt/grid/traits.cc>!')
return globals()[f'Dimension{d}']()
def make_walker(gridprovider, level=0):
for factory in [globals()[s] for s in globals().keys() if s.startswith('make_walker_on_')]:
try:
......
......@@ -41,7 +41,7 @@ template <>
void addbind_for_Grid<boost::tuples::null_type>(pybind11::module&, std::vector<std::string>&)
{}
PYBIND11_MODULE(_types, m)
PYBIND11_MODULE(_grid_types, m)
{
namespace py = pybind11;
......
......@@ -57,7 +57,7 @@ void addbind_for_Grid<boost::tuples::null_type>(pybind11::module&)
{}
PYBIND11_MODULE(_walker, m)
PYBIND11_MODULE(_grid_walker, m)
{
namespace py = pybind11;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment