Peano
Loading...
Searching...
No Matches
PatchWriter.h
Go to the documentation of this file.
1// This file is part of the Peano project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
3#pragma once
4
5#include "tarch/la/Vector.h"
6
7namespace tarch {
8 namespace plotter {
9 namespace griddata {
10 namespace blockstructured {
11 class PatchWriter;
12 } // namespace blockstructured
13 } // namespace griddata
14 } // namespace plotter
15} // namespace tarch
16
17
27public:
28 virtual ~PatchWriter() = default;
29
33 virtual bool writeToFile() = 0;
34
38 virtual bool isOpen() = 0;
39
45 virtual void clear() = 0;
46
51 public:
52 virtual ~CellDataWriter() = default;
53
65 virtual void plotCell(int index, double value) = 0;
66 virtual void plotCell(int index, double* values) = 0;
67
73 virtual void close() = 0;
74
79
83 virtual int getFirstCellWithinPatch(int patchIndex) const = 0;
84 };
85
90 public:
91 virtual ~VertexDataWriter() = default;
92
104 virtual void plotVertex(int index, double value) = 0;
105 virtual void plotVertex(int index, double* values) = 0;
106
107 virtual void close() = 0;
108
113
117 virtual int getFirstVertexWithinPatch(int patchIndex) const = 0;
118 };
119
123 virtual int plotPatch(const tarch::la::Vector<2, double>& offset, const tarch::la::Vector<2, double>& size) = 0;
124
128 virtual int plotPatch(const tarch::la::Vector<3, double>& offset, const tarch::la::Vector<3, double>& size) = 0;
129
138 const std::string& identifier, int unknownsPerAxis, int recordsPerCell, const std::string& description
139 ) = 0;
140
149 const std::string& identifier,
150 int unknownsPerAxis,
151 int recordsPerCell,
152 const std::string& description,
153 const std::string& metaData
154 ) = 0;
155
180 const std::string& identifier,
181 int unknownsPerAxis,
182 int recordsPerCell,
183 const std::string& description,
184 const std::string& metaData,
185 double* mapping
186 ) = 0;
187
196 const std::string& identifier, int unknownsPerAxis, int recordsPerVertex, const std::string& description
197 ) = 0;
198
207 const std::string& identifier,
208 int unknownsPerAxis,
209 int recordsPerVertex,
210 const std::string& description,
211 const std::string& metaData
212 ) = 0;
213
238 const std::string& identifier,
239 int unknownsPerAxis,
240 int recordsPerVertex,
241 const std::string& description,
242 const std::string& metaData,
243 double* mapping
244 ) = 0;
245};
virtual void close()=0
If you close your writer, each cell/vertex has to be assigned a value, i.e.
virtual void plotCell(int index, double value)=0
Write data for one cell.
virtual void plotVertex(int index, double value)=0
Write data for one cell.
Abstract base class for a patch plotter.
Definition PatchWriter.h:26
virtual int plotPatch(const tarch::la::Vector< 2, double > &offset, const tarch::la::Vector< 2, double > &size)=0
virtual void clear()=0
Clear the writer, i.e.
virtual VertexDataWriter * createVertexDataWriter(const std::string &identifier, int unknownsPerAxis, int recordsPerVertex, const std::string &description)=0
Create vertex data writer.
virtual CellDataWriter * createCellDataWriter(const std::string &identifier, int unknownsPerAxis, int recordsPerCell, const std::string &description, const std::string &metaData, double *mapping)=0
Create writer.
virtual CellDataWriter * createCellDataWriter(const std::string &identifier, int unknownsPerAxis, int recordsPerCell, const std::string &description, const std::string &metaData)=0
Create cell data writer.
virtual VertexDataWriter * createVertexDataWriter(const std::string &identifier, int unknownsPerAxis, int recordsPerVertex, const std::string &description, const std::string &metaData, double *mapping)=0
Create writer.
virtual int plotPatch(const tarch::la::Vector< 3, double > &offset, const tarch::la::Vector< 3, double > &size)=0
virtual VertexDataWriter * createVertexDataWriter(const std::string &identifier, int unknownsPerAxis, int recordsPerVertex, const std::string &description, const std::string &metaData)=0
Create vertex data writer.
virtual CellDataWriter * createCellDataWriter(const std::string &identifier, int unknownsPerAxis, int recordsPerCell, const std::string &description)=0
Create cell data writer.
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.
Definition accelerator.h:19
Simple vector class.
Definition Vector.h:159