78 #ifndef Foam_sampledCuttingPlane_H 79 #define Foam_sampledCuttingPlane_H 95 class 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
311 virtual tmp<vectorField>
sample virtual const labelList & zoneIds() const
Per-face zone/region information.
bool interpolate() const noexcept
Same as isPointData()
virtual bool expire()
Mark the surface as needing an update.
const polyMesh & mesh() const noexcept
Access to the underlying mesh.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
const vectorField & Sf() const
Face area vectors (normals)
A bounding box defined in terms of min/max extrema points.
Geometric class that creates a 3D plane and can return the intersection point between a line and the ...
static const List< label > & null()
Return a null List.
virtual tmp< scalarField > sample(const interpolation< scalar > &sampler) const
Sample volume field onto surface faces.
const word & name() const noexcept
Name of surface.
List< face > faceList
List of faces.
virtual const pointField & points() const
Points of surface.
vectorField pointField
pointField is a vectorField.
virtual bool needsUpdate() const
Does the surface need an update?
A class for handling words, derived from Foam::string.
const scalarField & magSf() const
Face area magnitudes.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
MeshedSurface< face > meshedSurface
TypeName("sampledCuttingPlane")
Runtime type information.
const Field< point_type > & points() const noexcept
Return reference to global points.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
const List< Face > & surfFaces() const
Return const access to the faces.
OBJstream os(runTime.globalPath()/outputName)
virtual const vectorField & Cf() const
Face centres.
virtual const vectorField & Sf() const
Face area magnitudes.
bool hasIsoSurface() const
Is currently backed by an isoSurfacePtr_.
const meshedSurface & surface() const
The current surface geometry.
virtual const scalarField & magSf() const
Face area magnitudes.
virtual const faceList & faces() const
Faces of surface.
virtual ~sampledCuttingPlane()=default
Destructor.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
sampledCuttingPlane(const word &name, const polyMesh &mesh, const dictionary &dict)
Construct from dictionary.
const vectorField & Cf() const
Face centres.
Abstract base class for volume field interpolation.
Field< vector > vectorField
Specialisation of Field<T> for vector.
Mesh consisting of general polyhedral cells.
const labelList & meshCells() const
For each face, the original cell in mesh.
List< label > labelList
A List of labels.
A class for managing temporary objects.
virtual bool update()
Update the surface as required.
List< treeBoundBox > meshBb(1, treeBoundBox(coarseMesh.points()).extend(rndGen, 1e-3))
virtual void print(Ostream &os, int level=0) const
Print information.