Go to the documentation of this file.
79 #ifndef sampledCuttingPlane_H
80 #define sampledCuttingPlane_H
96 class sampledCuttingPlane
106 List<scalar> offsets_;
109 isoSurfaceParams isoParams_;
121 mutable word exposedPatchName_;
124 mutable bool needsUpdate_;
136 autoPtr<isoSurfaceBase> isoSurfacePtr_;
142 mutable autoPtr<fvMeshSubset> subMeshPtr_;
145 mutable autoPtr<bitSet> ignoreCellsPtr_;
160 void checkBoundsIntersection
167 void setDistanceFields(
const plane& pln);
173 void createGeometry();
204 return bool(isoSurfacePtr_);
247 return *isoSurfacePtr_;
257 return isoSurfacePtr_->meshCells();
virtual const pointField & points() const
Points of surface.
List< label > labelList
A List of labels.
vectorField pointField
pointField is a vectorField.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
const meshedSurface & surface() const
The current surface geometry.
static const List< T > & null()
Return a null List.
bool hasIsoSurface() const
Is currently backed by an isoSurfacePtr_.
A class for handling words, derived from Foam::string.
TypeName("sampledCuttingPlane")
Runtime type information.
A class for managing temporary objects.
A sampledSurface defined by a plane using an iso-surface algorithm to cut the mesh.
const vectorField & Sf() const
Face area vectors (normals)
const List< Face > & surfFaces() const
Return const access to the faces.
List< treeBoundBox > meshBb(1, treeBoundBox(boundBox(coarseMesh.points(), false)).extend(rndGen, 1e-3))
virtual ~sampledCuttingPlane()=default
Destructor.
Mesh consisting of general polyhedral cells.
virtual void print(Ostream &os, int level=0) const
Print information.
Field< vector > vectorField
Specialisation of Field<T> for vector.
Geometric class that creates a 3D plane and can return the intersection point between a line and the ...
virtual bool needsUpdate() const
Does the surface need an update?
const scalarField & magSf() const
Face area magnitudes.
bool interpolate() const noexcept
Same as isPointData()
virtual const labelList & zoneIds() const
Per-face zone/region information.
virtual bool update()
Update the surface as required.
An abstract class for surfaces with sampling.
virtual const vectorField & Cf() const
Face centres.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Abstract base class for interpolation.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Preferences for controlling iso-surface algorithms.
OBJstream os(runTime.globalPath()/outputName)
virtual const vectorField & Sf() const
Face area magnitudes.
const word & name() const noexcept
Name of surface.
const labelList & meshCells() const
For each face, the original cell in mesh.
sampledCuttingPlane(const word &name, const polyMesh &mesh, const dictionary &dict)
Construct from dictionary.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
MeshedSurface< face > meshedSurface
List< face > faceList
A List of faces.
const polyMesh & mesh() const noexcept
Access to the underlying mesh.
virtual const scalarField & magSf() const
Face area magnitudes.
A List of wordRe with additional matching capabilities.
virtual const faceList & faces() const
Faces of surface.
A bounding box defined in terms of min/max extrema points.
const vectorField & Cf() const
Face centres.
virtual tmp< scalarField > sample(const interpolation< scalar > &sampler) const
Sample volume field onto surface faces.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual bool expire()
Mark the surface as needing an update.