diff --git a/.gitsuper b/.gitsuper index 7d042eb0033de7714bdae8fc92b2cf7e050b8105..2feeba2dc6d3d2db2a3cc807697b26aeaa70afbb 100644 --- a/.gitsuper +++ b/.gitsuper @@ -14,7 +14,7 @@ status = 1a3bcab04b011a5d6e44f9983cae6ff89fa695e8 bin (heads/master) 07f9700459c616186737a9a34277f2edee76f475 dune-uggrid (v2.6.0-1-g07f97004) +bf48b2929a26dc043925c41672570600b936f032 dune-xt-common (heads/fix_issue_149) cad4071f7722374d5131c21244970e93c98ad6ba dune-xt-data (remotes/origin/HEAD) - +88f54b8bf6e02817cc9ac082bfb1fcd54a3efd7e dune-xt-functions (heads/dailywork-tim) + +5e5ea8637f8ca604a6092eccd4b931b53422a69b dune-xt-functions (heads/dailywork-tim) 08242248ae7d1e79018fc2e91e85bccdd453107a dune-xt-grid (remotes/origin/HEAD) 0c3b93e32d48b7b389db1c3572d567bff272190c dune-xt-la (remotes/origin/HEAD) 09d0378f616b94d68bcdd9fc6114813181849ec0 scripts (heads/master) @@ -93,7 +93,7 @@ commit = cad4071f7722374d5131c21244970e93c98ad6ba [submodule.dune-xt-functions] remote = https://github.com/dune-community/dune-xt-functions.git status = c0b1735fab0ecbd4bb4f1eaa27cb65fe813e98f0 .vcsetup (remotes/origin/HEAD) -commit = 88f54b8bf6e02817cc9ac082bfb1fcd54a3efd7e +commit = 5e5ea8637f8ca604a6092eccd4b931b53422a69b [submodule.dune-xt-grid] remote = https://github.com/dune-community/dune-xt-grid.git diff --git a/python/dune/xt/interfaces.cc b/python/dune/xt/interfaces.cc index 3cb48aaf5e6717ff2d00e269a202cfa6db61ddcb..ddb07aeff95b1a21c36a3428b7d18ea8339f0d25 100644 --- a/python/dune/xt/interfaces.cc +++ b/python/dune/xt/interfaces.cc @@ -26,6 +26,8 @@ #include <python/dune/xt/functions/interfaces.hh> #include <python/dune/xt/common/exceptions.bindings.hh> +#include <python/dune/xt/grid/available_types.hh> + template <class G> void add_bind_for_Grid_interface(pybind11::module& m) @@ -94,9 +96,22 @@ void add_bind_for_Grid_interface(pybind11::module& m) bind_combined_GridFunction<G, g_dim, prod, 1, 1, 2, 2>(m, grid_id); addbind_GridFunctionInterface_combined_op<G, g_dim, prod, 1, 1, 2, 2>(i_1_1); +} // ... addbind_for_Grid_interface(...) + + +template <class Tuple = Dune::XT::Grid::bindings::AvailableTypes> +void all_grid_interfaces(pybind11::module& m) +{ + add_bind_for_Grid_interface<typename Tuple::head_type>(m); + all_grid_interfaces<typename Tuple::tail_type>(m); } // ... addbind_for_Grid(...) +template <> +void all_grid_interfaces<boost::tuples::null_type>(pybind11::module&) +{} + + PYBIND11_MODULE(_interfaces, m) { namespace py = pybind11; @@ -280,17 +295,7 @@ PYBIND11_MODULE(_interfaces, m) bind_combined_Function<3, prod, 1, 1, 2, 2>(m); addbind_FunctionInterface_combined_op<3, prod, 1, 1, 2, 2>(i_3_1_1); - add_bind_for_Grid_interface<Dune::YaspGrid<1, Dune::EquidistantOffsetCoordinates<double, 1>>>(m); - add_bind_for_Grid_interface<Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<double, 2>>>(m); -#if HAVE_DUNE_ALUGRID - add_bind_for_Grid_interface<Dune::ALUGrid<2, 2, Dune::simplex, Dune::conforming>>(m); -#endif -#if HAVE_UG - add_bind_for_Grid_interface<Dune::UGGrid<2>>(m); -#endif - //#if HAVE_ALBERTA - // addbind_for_Grid<Dune::AlbertaGrid<2, 2>>(m, "2d_simplex_albertagrid"); - //#endif + all_grid_interfaces(m); Dune::XT::Common::bindings::add_initialization(m, "dune.xt.functions"); }