41 void Foam::sampledSurfaces::writeSurface
62 template<
class Type,
class GeoMeshType>
63 bool Foam::sampledSurfaces::storeRegistryField
65 const sampledSurface&
s,
66 const word& fieldName,
67 const dimensionSet& dims,
71 return s.storeRegistryField<Type, GeoMeshType>
83 void Foam::sampledSurfaces::performAction
85 const GeometricField<Type, fvPatchField, volMesh>&
fld,
90 autoPtr<interpolation<Type>> samplePtr;
93 autoPtr<interpolation<Type>> interpPtr;
95 const word& fieldName =
fld.name();
97 const dimensionSet& dims =
fld.dimensions();
101 const sampledSurface&
s = operator[](surfi);
122 values =
s.interpolate(*interpPtr);
138 if ((request & actions_[surfi]) & ACTION_WRITE)
140 writeSurface<Type>(writers_[surfi],
values, fieldName);
143 if ((request & actions_[surfi]) & ACTION_SURF_MESH)
146 s.storeSurfMeshField<Type, surfGeoMesh>
152 if ((request & actions_[surfi]) & ACTION_STORE)
156 storeRegistryField<Type, polySurfacePointGeoMesh>
158 s, fieldName, dims, std::move(
values)
163 storeRegistryField<Type, polySurfaceGeoMesh>
165 s, fieldName, dims, std::move(
values)
174 void Foam::sampledSurfaces::performAction
176 const GeometricField<Type, fvsPatchField, surfaceMesh>&
fld,
180 const word& fieldName =
fld.name();
182 const dimensionSet& dims =
fld.dimensions();
186 const sampledSurface&
s = (*this)[surfi];
196 if ((request & actions_[surfi]) & ACTION_WRITE)
198 writeSurface<Type>(writers_[surfi],
values, fieldName);
201 if ((request & actions_[surfi]) & ACTION_SURF_MESH)
203 s.storeSurfMeshField<Type, surfGeoMesh>
209 if ((request & actions_[surfi]) & ACTION_STORE)
211 storeRegistryField<Type, polySurfaceGeoMesh>
213 s, fieldName, dims, std::move(
values)
220 template<
class GeoField>
221 void Foam::sampledSurfaces::performAction
223 const IOobjectList& objects,
230 fieldNames = objects.sortedNames<GeoField>(fieldSelection_);
234 fieldNames = mesh_.thisDb().sortedNames<GeoField>(fieldSelection_);
241 Info<<
"sampleWrite: " << fieldName <<
endl;
258 performAction(
fld, request);
264 mesh_.thisDb().lookupObject<GeoField>(fieldName),
272 template<
class Container,
class Predicate>
273 bool Foam::sampledSurfaces::testAny
275 const Container& items,
276 const Predicate& pred
279 for (
const auto& item : items)