30 #include "vtkPV4FoamReader.h"
33 #include "vtkDataArraySelection.h"
34 #include "vtkPolyData.h"
35 #include "vtkUnstructuredGrid.h"
46 IOobjectList& objects,
59 if (!selected.found(iter()->
name()))
69 vtkMultiBlockDataSet* output
72 const fvMesh&
mesh = *meshPtr_;
76 reader_->GetVolFieldSelection()
79 if (selectedFields.empty())
87 pruneObjectList(objects, selectedFields);
96 Info<<
"<beg> Foam::vtkPV4Foam::convertVolFields" <<
nl
97 <<
"converting OpenFOAM volume fields" <<
endl;
100 Info<<
" " << iter()->name()
101 <<
" == " << iter()->objectPath() <<
nl;
107 PtrList<PrimitivePatchInterpolation<primitivePatch> >
115 new PrimitivePatchInterpolation<primitivePatch>
123 bool interpFields = reader_->GetInterpolateVolFields();
125 convertVolFields<scalar>
127 mesh, ppInterpList, objects, interpFields, output
129 convertVolFields<vector>
131 mesh, ppInterpList, objects, interpFields, output
133 convertVolFields<sphericalTensor>
135 mesh, ppInterpList, objects, interpFields, output
137 convertVolFields<symmTensor>
139 mesh, ppInterpList, objects, interpFields, output
141 convertVolFields<tensor>
143 mesh, ppInterpList, objects, interpFields, output
146 convertDimFields<scalar>
148 mesh, ppInterpList, objects, interpFields, output
150 convertDimFields<vector>
152 mesh, ppInterpList, objects, interpFields, output
154 convertDimFields<sphericalTensor>
156 mesh, ppInterpList, objects, interpFields, output
158 convertDimFields<symmTensor>
160 mesh, ppInterpList, objects, interpFields, output
162 convertDimFields<tensor>
164 mesh, ppInterpList, objects, interpFields, output
169 Info<<
"<end> Foam::vtkPV4Foam::convertVolFields" <<
endl;
177 vtkMultiBlockDataSet* output
180 const fvMesh&
mesh = *meshPtr_;
184 reader_->GetPointFieldSelection()
187 if (selectedFields.empty())
191 Info<<
"no point fields selected" <<
endl;
199 pruneObjectList(objects, selectedFields);
208 Info<<
"<beg> Foam::vtkPV4Foam::convertPointFields" <<
nl
209 <<
"converting OpenFOAM volume fields -> point fields" <<
endl;
212 Info<<
" " << iter()->name()
213 <<
" == " << iter()->objectPath() <<
nl;
222 convertPointFields<scalar>
224 mesh, pMesh, objects, output
226 convertPointFields<vector>
228 mesh, pMesh, objects, output
230 convertPointFields<sphericalTensor>
232 mesh, pMesh, objects, output
234 convertPointFields<symmTensor>
236 mesh, pMesh, objects, output
238 convertPointFields<tensor>
240 mesh, pMesh, objects, output
245 Info<<
"<end> Foam::vtkPV4Foam::convertPointFields" <<
endl;
253 vtkMultiBlockDataSet* output
256 arrayRange&
range = arrayRangeLagrangian_;
257 const fvMesh&
mesh = *meshPtr_;
261 reader_->GetLagrangianFieldSelection()
264 if (selectedFields.empty())
271 Info<<
"<beg> Foam::vtkPV4Foam::convertLagrangianFields" <<
endl;
275 for (
int partId =
range.start(); partId <
range.end(); ++partId)
277 const word
cloudName = getPartName(partId);
278 const label datasetNo = partDataset_[partId];
280 if (!partStatus_[partId] || datasetNo < 0)
295 pruneObjectList(objects, selectedFields);
304 Info<<
"converting OpenFOAM lagrangian fields" <<
nl;
307 Info<<
" " << iter()->name()
308 <<
" == " << iter()->objectPath() <<
nl;
312 convertLagrangianFields<label>
314 objects, output, datasetNo
316 convertLagrangianFields<scalar>
318 objects, output, datasetNo
320 convertLagrangianFields<vector>
322 objects, output, datasetNo
324 convertLagrangianFields<sphericalTensor>
326 objects, output, datasetNo
328 convertLagrangianFields<symmTensor>
330 objects, output, datasetNo
332 convertLagrangianFields<tensor>
334 objects, output, datasetNo
340 Info<<
"<end> Foam::vtkPV4Foam::convertLagrangianFields" <<
endl;