foamVtkGenericPatchGeoFieldsWriter.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2021 OpenCFD Ltd.
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::vtk::GenericPatchGeoFieldsWriter
28
29Description
30 A Foam::vtk::GenericPatchWriter with support for geometric fields.
31
32 Caution, currently only works properly for indirect patches.
33
34SourceFiles
35 foamVtkGenericPatchGeoFieldsWriter.C
36
37\*---------------------------------------------------------------------------*/
38
39#ifndef Foam_vtk_GenericPatchGeoFieldsWriter_H
40#define Foam_vtk_GenericPatchGeoFieldsWriter_H
41
42#include "areaFields.H"
43#include "surfaceFields.H"
45
46// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47
48namespace Foam
49{
50namespace vtk
51{
52
53/*---------------------------------------------------------------------------*\
54 Class vtk::GenericPatchGeoFieldsWriter Declaration
55\*---------------------------------------------------------------------------*/
56
57template<class PatchType>
59:
60 public vtk::GenericPatchWriter<PatchType>
61{
62 // Private Member Functions
63
64 //- Get face field (internal face or boundary face)
65 //- at specified face locations
66 template<class Type>
67 tmp<Field<Type>> getFaceField
68 (
70 const labelUList& faceAddr
71 ) const;
72
73
74 //- No copy construct
76 (
78 ) = delete;
79
80 //- No copy assignment
81 void operator=(const GenericPatchGeoFieldsWriter<PatchType>&) = delete;
82
83public:
84
85 // Constructors
86
87 //- Inherit constructors from GenericPatchWriter
88 using vtk::GenericPatchWriter<PatchType>::GenericPatchWriter;
89
90
91 // Member Functions
92
93 //- Write volume-mesh surface field (CellData) from specified mesh
94 //- faces.
95 // For an indirect patch this will often simply be its addressing()
96 template<class Type>
97 void write
98 (
100 const labelUList& faceAddr
101 );
102
103 //- Write area-mesh surface field (CellData)
104 template<class Type>
105 void write
106 (
108 );
109};
110
111
112// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
113
114} // End namespace vtk
115} // End namespace Foam
116
117// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
118
119#ifdef NoRepository
121#endif
122
123
124// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125
126#endif
127
128// ************************************************************************* //
Generic GeometricField class.
A class for managing temporary objects.
Definition: tmp.H:65
A Foam::vtk::GenericPatchWriter with support for geometric fields.
Write concrete PrimitivePatch faces/points (optionally with fields) as a vtp file or a legacy vtk fil...
rDeltaTY field()
Namespace for OpenFOAM.
runTime write()
Foam::surfaceFields.