Go to the documentation of this file.
133 #ifndef distanceSurface_H
134 #define distanceSurface_H
150 class distanceSurface
155 enum class topologyFilterType : uint8_t
162 PROXIMITY = PROXIMITY_FACES
166 static const Enum<topologyFilterType> topoFilterNames_;
172 const polyMesh& mesh_;
175 const autoPtr<searchableSurface> geometryPtr_;
178 const scalar distance_;
181 const bool withZeroDistance_;
184 const bool withSignDistance_;
187 isoSurfaceParams isoParams_;
190 topologyFilterType topoFilter_;
196 scalar maxDistanceSqr_;
199 scalar absProximity_;
202 autoPtr<volScalarField> cellDistancePtr_;
224 static inline void calcAbsoluteDistance
245 return bool(isoSurfacePtr_);
252 const GeometricField<Type, fvPatchField, volMesh>& cellValues,
253 const Field<Type>& pointValues
258 return isoSurfacePtr_->interpolate(cellValues, pointValues);
272 const isoSurfaceBase& isoContext
302 const word& defaultSurfaceName,
311 const word& surfaceType,
322 const word& surfaceType,
325 const bool useSignedDistance,
335 const bool useSignedDistance,
352 return geometryPtr_->name();
366 return *isoSurfacePtr_;
376 return *isoSurfacePtr_;
386 return isoSurfacePtr_->meshCells();
396 return isoSurfacePtr_->meshCells();
List< label > labelList
A List of labels.
vectorField pointField
pointField is a vectorField.
@ NONE
No type, or default initialized type.
A class for handling words, derived from Foam::string.
Low-level components common to various iso-surface algorithms.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
A class for managing temporary objects.
void filterRegionProximity(bitSet &ignoreCells) const
bool hasIsoSurface() const
void print(Ostream &os, int level=0) const
distanceSurface(const word &defaultSurfaceName, const polyMesh &mesh, const dictionary &dict)
void filterKeepNearestRegions(bitSet &ignoreCells) const
scalar distance() const noexcept
Mesh consisting of general polyhedral cells.
bool refineBlockedCells(bitSet &ignoreCells, const isoSurfaceBase &isoContext) const
tmp< Field< Type > > isoSurfaceInterpolate(const GeometricField< Type, fvPatchField, volMesh > &cellValues, const Field< Type > &pointValues) const
A surface defined by a distance from an input searchable surface. Uses an iso-surface algorithm (cell...
const labelList & meshCells() const
bool interpolate(const vector &p1, const vector &p2, const vector &o, vector &n, scalar l)
Generic templated field type.
void filterFaceProximity()
const word & surfaceName() const
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)
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
virtual ~distanceSurface()=default
MeshedSurface< face > meshedSurface
const meshedSurface & surface() const
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
void filterKeepLargestRegion(bitSet &ignoreCells) const
TypeName("distanceSurface")
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
bitSet filterPrepareRegionSplit(const bitSet &ignoreCells) const
vector point
Point is a vector.
Generic GeometricField class.
A surface geometry mesh with zone information, not to be confused with the similarly named surfaceMes...
meshedSurface & surface()