dune-vtk  0.2
derivedgridcreator.hh
Go to the documentation of this file.
1 #pragma once
2 
3 #include <cstdint>
4 #include <string>
5 #include <vector>
6 
7 #include <dune/grid/common/gridfactory.hh>
11 
12 namespace Dune
13 {
14  namespace Vtk
15  {
16  template <class GridCreator, class Derived>
18  : public GridCreatorInterface<typename GridCreator::Grid, Derived>
19  {
22  using Grid = typename GridCreator::Grid;
24 
25  template <class... Args,
26  disableCopyMove<DerivedGridCreator, Args...> = 0>
27  DerivedGridCreator (Args&&... args)
28  : Super(std::forward<Args>(args)...)
29  , gridCreator_(Super::factory())
30  {}
31 
32  void insertVerticesImpl (std::vector<GlobalCoordinate> const& points,
33  std::vector<std::uint64_t> const& point_ids)
34  {
35  gridCreator_.insertVertices(points, point_ids);
36  }
37 
38  void insertElementsImpl (std::vector<std::uint8_t> const& types,
39  std::vector<std::int64_t> const& offsets,
40  std::vector<std::int64_t> const& connectivity)
41  {
42  gridCreator_.insertElements(types, offsets, connectivity);
43  }
44 
45  void insertPiecesImpl (std::vector<std::string> const& pieces)
46  {
47  gridCreator_.insertPieces(pieces);
48  }
49 
50  private:
51  GridCreator gridCreator_;
52  };
53 
54  } // end namespace Vtk;
55 } // end namespace Dune
Definition: datacollectorinterface.hh:9
Base class for grid creators in a CRTP style.
Definition: gridcreatorinterface.hh:25
typename Grid::template Codim< 0 >::Entity::Geometry::GlobalCoordinate GlobalCoordinate
Definition: gridcreatorinterface.hh:28
GridCreator::Grid Grid
Definition: gridcreatorinterface.hh:27
GridFactory< Grid > & factory()
Return the associated GridFactory.
Definition: gridcreatorinterface.hh:77
Definition: derivedgridcreator.hh:19
DerivedGridCreator(Args &&... args)
Definition: derivedgridcreator.hh:27
void insertVerticesImpl(std::vector< GlobalCoordinate > const &points, std::vector< std::uint64_t > const &point_ids)
Definition: derivedgridcreator.hh:32
void insertElementsImpl(std::vector< std::uint8_t > const &types, std::vector< std::int64_t > const &offsets, std::vector< std::int64_t > const &connectivity)
Definition: derivedgridcreator.hh:38
void insertPiecesImpl(std::vector< std::string > const &pieces)
Definition: derivedgridcreator.hh:45