42 auto& refinement = Dune::buildRefinement<dim, ct>(type, type);
43 const auto tag = Dune::refinementLevels(levels);
46 const auto numVertices = refinement.nVertices(tag);
47 std::vector<Dune::FieldVector<ct, dim>> points; points.reserve(numVertices);
48 auto vIt = refinement.vBegin(tag);
49 const auto vItEnd = refinement.vEnd(tag);
50 for (; vIt != vItEnd; ++vIt)
51 points.emplace_back(vIt.coords());
54 const auto numElements = refinement.nElements(tag);
55 this->reserve(numElements);
56 auto eIt = refinement.eBegin(tag);
57 const auto eItEnd = refinement.eEnd(tag);
58 for (; eIt != eItEnd; ++eIt)
61 const auto weight = computeVolume_(type, points, eIt.vertexIndices());
62 this->emplace_back(eIt.coords(), weight);
68 ct computeVolume_(Dune::GeometryType t,
const std::vector<Dune::FieldVector<ct, dim>>& points,
const VertexIndices& indices)
const