From b41890c456801421d349aee2119d5ea19a0eff01 Mon Sep 17 00:00:00 2001 From: Simon Praetorius <simon.praetorius@tu-dresden.de> Date: Mon, 3 Dec 2018 12:43:21 -0500 Subject: [PATCH] use mcmg mapper instead of index set when traversing elements --- dune/vtk/datacollectorinterface.impl.hh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dune/vtk/datacollectorinterface.impl.hh b/dune/vtk/datacollectorinterface.impl.hh index d146cb1..abf5e6a 100644 --- a/dune/vtk/datacollectorinterface.impl.hh +++ b/dune/vtk/datacollectorinterface.impl.hh @@ -2,6 +2,7 @@ #include <dune/geometry/referenceelements.hh> #include <dune/grid/common/gridenums.hh> +#include <dune/grid/common/mcmgmapper.hh> namespace Dune { @@ -11,12 +12,12 @@ std::vector<T> DataCollectorInterface<GridView, Derived> ::cellDataImpl (VtkFunction const& fct) const { std::vector<T> data(gridView_.size(0) * fct.ncomps()); - auto const& indexSet = gridView_.indexSet(); + MultipleCodimMultipleGeomTypeMapper<GridView> mapper(gridView_, mcmgElementLayout()); auto localFct = localFunction(fct); for (auto const& e : elements(gridView_, Partitions::all)) { localFct.bind(e); auto refElem = referenceElement<T,GridView::dimension>(e.type()); - std::size_t idx = fct.ncomps() * indexSet.index(e); + std::size_t idx = fct.ncomps() * mapper.index(e); for (int comp = 0; comp < fct.ncomps(); ++comp) data[idx + comp] = T(localFct.evaluate(comp, refElem.position(0,0))); localFct.unbind(); -- GitLab