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 -------------------------------------------------------------------------------
10 License
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 
26 Class
27  Foam::vtk::GenericPatchGeoFieldsWriter
28 
29 Description
30  A Foam::vtk::GenericPatchWriter with support for geometric fields.
31 
32  Caution, currently only works properly for indirect patches.
33 
34 SourceFiles
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 
48 namespace Foam
49 {
50 namespace vtk
51 {
52 
53 /*---------------------------------------------------------------------------*\
54  Class vtk::GenericPatchGeoFieldsWriter Declaration
55 \*---------------------------------------------------------------------------*/
56 
57 template<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 
83 public:
84 
85  // Constructors
86 
87  //- Inherit constructors from 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 // ************************************************************************* //
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::vtk::GenericPatchWriter
Write concrete PrimitivePatch faces/points (optionally with fields) as a vtp file or a legacy vtk fil...
Definition: foamVtkGenericPatchWriter.H:65
foamVtkGenericPatchGeoFieldsWriter.C
surfaceFields.H
Foam::surfaceFields.
Foam::vtk::GenericPatchGeoFieldsWriter
A Foam::vtk::GenericPatchWriter with support for geometric fields.
Definition: foamVtkGenericPatchGeoFieldsWriter.H:57
foamVtkGenericPatchWriter.H
Foam::vtk::GenericPatchGeoFieldsWriter::write
void write(const GeometricField< Type, fvsPatchField, surfaceMesh > &field, const labelUList &faceAddr)
Definition: foamVtkGenericPatchGeoFieldsWriter.C:79
field
rDeltaTY field()
areaFields.H
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::UList< label >
Foam::GeometricField
Generic GeometricField class.
Definition: areaFieldsFwd.H:53