4#ifndef DUNE_GRID_IO_FILE_GMSH_GRIDCREATORINTERFACE_HH
5#define DUNE_GRID_IO_FILE_GMSH_GRIDCREATORINTERFACE_HH
14namespace Dune::Impl::Gmsh
23 template <
class G,
class Derived>
24 class GridCreatorInterface
28 using GlobalCoordinate =
typename Grid::template Codim<0>::Entity::Geometry::GlobalCoordinate;
32 GridCreatorInterface (GridFactory<Grid>& factory)
37 template <
class NodeAttributes>
42 asDerived().insertVerticesImpl(numNodes, nodeTagRange, entityBlocks);
46 template <
class ElementAttributes,
class BoundaryEntities>
50 BoundaryEntities
const& boundaryEntities)
52 asDerived().insertElementsImpl(numElements, elementTagRange, entityBlocks, boundaryEntities);
58 asDerived().insertPiecesImpl(pieces);
62 GridFactory<Grid>& factory ()
68 GridFactory<Grid>
const& factory ()
const
83 return static_cast<Derived&
>(*this);
86 const Derived& asDerived ()
const
88 return static_cast<const Derived&
>(*this);
93 template <
class NodeAttributes>
101 template <
class ElementAttributes,
class BoundaryEntities>
105 BoundaryEntities
const& boundaryEntities)
116 GridFactory<Grid>* factory_;
static Communication< MPICommunicator > getCommunication()
Provide a generic factory class for unstructured grids.