Go to the documentation of this file.
78 #ifndef sampledCuttingPlane_H
79 #define sampledCuttingPlane_H
97 class sampledCuttingPlane
107 const boundBox bounds_;
110 const scalar mergeTol_;
125 mutable word exposedPatchName_;
128 mutable bool needsUpdate_;
132 autoPtr<fvMeshSubset> subMeshPtr_;
135 autoPtr<volScalarField> cellDistancePtr_;
141 autoPtr<isoSurface> isoSurfPtr_;
144 autoPtr<isoSurfaceCell> isoSurfCellPtr_;
153 void checkBoundsIntersection
160 void createGeometry();
261 return *isoSurfCellPtr_;
263 else if (isoSurfTopoPtr_)
265 return *isoSurfTopoPtr_;
275 return *isoSurfCellPtr_;
277 else if (isoSurfTopoPtr_)
279 return *isoSurfTopoPtr_;
289 return isoSurfCellPtr_->meshCells();
291 else if (isoSurfTopoPtr_)
293 return isoSurfTopoPtr_->meshCells();
295 return isoSurfPtr_->meshCells();
303 return isoSurfCellPtr_->meshCells();
305 else if (isoSurfTopoPtr_)
307 return isoSurfTopoPtr_->meshCells();
309 return isoSurfPtr_->meshCells();
316 virtual tmp<scalarField>
sample
318 const interpolation<scalar>& sampler
virtual const pointField & points() const
Points of surface.
List< label > labelList
A List of labels.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
const meshedSurface & surface() const
The underlying surface.
static const List< label > & null()
Return a null List.
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.
meshedSurface & surface()
The underlying surface.
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) 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?
algorithmType
The algorithm types.
const scalarField & magSf() const
Face area magnitudes.
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.
Abstract base class for interpolation.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
virtual const vectorField & Sf() const
Face area magnitudes.
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
const word & name() const
Name of surface.
labelList & meshCells()
For each face, the original cell in 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.
const polyMesh & mesh() const
Access to the underlying mesh.
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.
bool interpolate() const
Interpolation to nodes requested for surface.
filterType
The filtering (regularization) to apply.