35 #ifndef GeometricFieldListSlicer_H
36 #define GeometricFieldListSlicer_H
51 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
113 patchFields_.
resize(mesh.boundary().size(), fields_);
120 &geoFields[fieldi].primitiveField()
128 &geoFields[fieldi].boundaryField()[
patchi]
144 const label patchElementi
153 #define typedefVolTypeFieldListSlicer(Type, nullArg) \
154 typedef GeometricFieldListSlicer<Type, fvPatchField, volMesh> \
155 CAT3(vol, CAPITALIZE(Type), FieldListSlicer);
157 #undef typedefVolTypeFieldListSlicer
161 #define typedefSurfaceTypeFieldListSlicer(Type, nullArg) \
162 typedef GeometricFieldListSlicer<Type, fvPatchField, surfaceMesh> \
163 CAT3(surface, CAPITALIZE(Type), FieldListSlicer);
165 #undef typedefSurfaceTypeFieldListSlicer
#define typedefSurfaceTypeFieldListSlicer(Type, nullArg)
Define surfaceScalarFieldListSlicer, surfaceVectorFieldListSlicer, etc...
#define typedefVolTypeFieldListSlicer(Type, nullArg)
Define volScalarFieldListSlicer, volVectorFieldListSlicer, etc...
#define forAll(list, i)
Loop across all elements in list.
Class to provide a list-like interface to a slice through a PtrList of fields.
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
Class to provide list slices to different parts of a geometric field.
GeometricFieldListSlicer()
Construct null. Set later.
void set(const typename geoFieldType::Mesh &mesh, const UPtrList< const geoFieldType > &geoFields)
Set the field pointers.
FieldListSlice< Type > patchSlice(const label patchi, const label patchElementi) const
Return a slice for a patch element.
FieldListSlice< Type > slice(const label elementi) const
Return a slice for an internal element.
Generic GeometricField class.
GeoMesh::Mesh Mesh
Type of mesh on which this GeometricField is instantiated.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void resize(const label)
Alias for setSize(const label)
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
bool set(const label) const
Is element set.
label size() const
Return the number of elements in the UPtrList.
void resize(const label)
Reset size of UPtrList. This can only be used to set the size.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
FOR_ALL_FIELD_TYPES(makeFieldSourceTypedef)