dune-vtk 2.8
Loading...
Searching...
No Matches
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
12namespace 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: writer.hh:13
Base class for grid creators in a CRTP style.
Definition: gridcreatorinterface.hh:25
GridFactory< Grid > & factory()
Return the associated GridFactory.
Definition: gridcreatorinterface.hh:77
typename Grid::template Codim< 0 >::Entity::Geometry::GlobalCoordinate GlobalCoordinate
Definition: gridcreatorinterface.hh:28
Definition: derivedgridcreator.hh:19
typename Super::GlobalCoordinate GlobalCoordinate
Definition: derivedgridcreator.hh:23
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
typename GridCreator::Grid Grid
Definition: derivedgridcreator.hh:22
void insertPiecesImpl(std::vector< std::string > const &pieces)
Definition: derivedgridcreator.hh:45