34 template<
class Type,
class GeoMeshType>
42 if (!piece)
return false;
44 auto vtkfield = Foam::vtk::Tools::convertFieldToVTK<Type>(fieldName,
fld);
46 if (piece->GetNumberOfCells() == piece->GetNumberOfPoints())
49 piece->GetPointData()->AddArray(vtkfield);
60 template<
class Type,
class GeoMeshType>
73 return addField<Type, GeoMeshType>
85 template<
class GeoMeshType>
93 return (piece && ioptr) &&
95 addDimField<scalar, GeoMeshType>
97 piece, ioptr, fieldName
99 || addDimField<vector, GeoMeshType>
101 piece, ioptr, fieldName
103 || addDimField<sphericalTensor, GeoMeshType>
105 piece, ioptr, fieldName
107 || addDimField<symmTensor, GeoMeshType>
109 piece, ioptr, fieldName
111 || addDimField<tensor, GeoMeshType>
113 piece, ioptr, fieldName
119 template<
class Type,
class GeoMeshType>
122 vtkMultiPieceDataSet* multiPiece,
124 const word& fieldName
132 if (!needsCollective())
137 addField<Type, GeoMeshType>
139 multiPiece->GetPiece(Pstream::myProcNo()),
154 if (Pstream::master())
159 addField<Type, GeoMeshType>
161 multiPiece->GetPiece(Pstream::myProcNo()),
172 int slave=Pstream::firstSlave();
173 slave<=Pstream::lastSlave();
177 IPstream fromSlave(Pstream::commsTypes::scheduled, slave);
186 addField<Type, GeoMeshType>
188 multiPiece->GetPiece(slave),
201 Pstream::commsTypes::scheduled,
221 template<
class Type,
class GeoMeshType>
224 vtkMultiPieceDataSet* multiPiece,
226 const word& fieldName
229 return addDimField<Type, GeoMeshType>
238 template<
class GeoMeshType>
241 vtkMultiPieceDataSet* multiPiece,
243 const word& fieldName
246 return (multiPiece) &&
248 addDimField<scalar, GeoMeshType>
250 multiPiece, ioptr, fieldName
252 || addDimField<vector, GeoMeshType>
254 multiPiece, ioptr, fieldName
256 || addDimField<sphericalTensor, GeoMeshType>
258 multiPiece, ioptr, fieldName
260 || addDimField<symmTensor, GeoMeshType>
262 multiPiece, ioptr, fieldName
264 || addDimField<tensor, GeoMeshType>
266 multiPiece, ioptr, fieldName
272 template<
class GeoMeshType>
275 vtkMultiPieceDataSet* multiPiece,
277 const word& fieldName
287 return addDimField<GeoMeshType>(multiPiece, ioptr, fieldName);