78#ifndef Foam_sampledCuttingPlane_H
79#define Foam_sampledCuttingPlane_H
95class sampledCuttingPlane
105 List<scalar> offsets_;
108 isoSurfaceParams isoParams_;
120 mutable word exposedPatchName_;
123 mutable bool needsUpdate_;
135 autoPtr<isoSurfaceBase> isoSurfacePtr_;
141 mutable autoPtr<fvMeshSubset> subMeshPtr_;
144 mutable autoPtr<bitSet> ignoreCellsPtr_;
150 autoPtr<volScalarField> cellDistancePtr_;
163 void checkBoundsIntersection
170 void setDistanceFields(
const plane& pln);
176 void createGeometry();
207 return bool(isoSurfacePtr_);
250 return *isoSurfacePtr_;
260 return isoSurfacePtr_->meshCells();
305 virtual tmp<scalarField>
sample
307 const interpolation<scalar>& sampler
Minimal example by using system/controlDict.functions:
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
static const List< label > & null()
Return a null List.
const vectorField & Sf() const
Face area vectors (normals)
const scalarField & magSf() const
Face area magnitudes.
const vectorField & Cf() const
Face centres.
const List< Face > & surfFaces() const
Return const access to the faces.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
const Field< point_type > & points() const noexcept
Return reference to global points.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A bounding box defined in terms of min/max extrema points.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Abstract base class for volume field interpolation.
Preferences for controlling iso-surface algorithms.
Geometric class that creates a 3D plane and can return the intersection point between a line and the ...
Mesh consisting of general polyhedral cells.
A sampledSurface defined by a plane using an iso-surface algorithm to cut the mesh.
virtual const pointField & points() const
Points of surface.
virtual ~sampledCuttingPlane()=default
Destructor.
virtual void print(Ostream &os, int level=0) const
Print information.
const meshedSurface & surface() const
The current surface geometry.
virtual const faceList & faces() const
Faces of surface.
virtual const vectorField & Cf() const
Face centres.
virtual const labelList & zoneIds() const
Per-face zone/region information.
virtual const scalarField & magSf() const
Face area magnitudes.
virtual bool expire()
Mark the surface as needing an update.
virtual bool needsUpdate() const
Does the surface need an update?
virtual bool update()
Update the surface as required.
virtual const vectorField & Sf() const
Face area magnitudes.
const labelList & meshCells() const
For each face, the original cell in mesh.
TypeName("sampledCuttingPlane")
Runtime type information.
bool hasIsoSurface() const
Is currently backed by an isoSurfacePtr_.
An abstract class for surfaces with sampling.
const word & name() const noexcept
Name of surface.
const polyMesh & mesh() const noexcept
Access to the underlying mesh.
bool interpolate() const noexcept
Same as isPointData()
A class for managing temporary objects.
A List of wordRe with additional matching capabilities.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
List< label > labelList
A List of labels.
vectorField pointField
pointField is a vectorField.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
MeshedSurface< face > meshedSurface
List< treeBoundBox > meshBb(1, treeBoundBox(boundBox(coarseMesh.points(), false)).extend(rndGen, 1e-3))
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.