43 #ifndef Foam_isoSurfaceBase_H 44 #define Foam_isoSurfaceBase_H 135 const uint8_t maskValue
271 #undef declareIsoSurfaceInterpolateMethod 272 #define declareIsoSurfaceInterpolateMethod(Type) \ 274 virtual tmp<Field<Type>> \ 277 const VolumeField<Type>& cellValues, \ 278 const Field<Type>& pointValues \ void ignoreCyclics()
Set ignoreBoundaryFaces to ignore cyclics (cyclicACMI)
const scalarField & pointValues() const noexcept
The mesh point values used for creating the iso-surface.
bitSet ignoreBoundaryFaces_
Optional boundary faces to ignore.
cutType getCellCutType(const label celli) const
Cell cut for an individual cell, with special handling for TETCUT and SPHERE cuts.
type
Volume classification types.
label blockCells(UList< cutType > &cuts, const bitSet &ignoreCells) const
Mark ignoreCells as BLOCKED.
Forwards and collection of common volume field types.
const scalarField & cVals_
Cell values.
Preferences for controlling iso-surface algorithms.
All edges to cell centre cut.
A bounding box defined in terms of min/max extrema points.
Generic GeometricField class.
static label countCutType(const UList< cutType > &cuts, const uint8_t maskValue)
Count the number of cuts matching the mask type.
cutType getFaceCutType(const label facei) const
Determine face cut for an individual face.
algorithmType
The algorithm types.
Low-level components common to various iso-surface algorithms.
const scalar iso_
Iso value.
isoSurfaceParams(const algorithmType algo=algorithmType::ALGO_DEFAULT, const filterType filter=filterType::DIAGCELL) noexcept
Default construct, or with specified algorithm.
isoSurfaceBase(const isoSurfaceBase &)=delete
No copy construct.
#define declareIsoSurfaceInterpolateMethod(Type)
const polyMesh & mesh_
Reference to mesh.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
label calcCellCuts(List< cutType > &cuts) const
Populate a list of candidate cell cuts using getCellCutType()
labelList meshCells_
For every face, the original cell in mesh.
const scalarField & cellValues() const noexcept
The mesh cell values used for creating the iso-surface.
const polyMesh & mesh() const noexcept
The mesh for which the iso-surface is associated.
static void resetCuts(UList< cutType > &cuts)
Restore non-BLOCKED state to an UNVISITED state.
tmp< Field< Type > > interpolateTemplate(const VolumeField< Type > &cellValues, const Field< Type > &pointValues) const
Dummy templated interpolate method.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
void operator=(const isoSurfaceBase &)=delete
No copy assignment.
const scalarField & pVals_
Point values.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
scalar isoValue() const noexcept
The iso-value associated with the surface.
filterType
The filtering (regularization) to apply.
const labelList & meshCells() const noexcept
For each face, the original cell in mesh.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
cutType
The type of cell/face cuts.
List< label > labelList
A List of labels.
A class for managing temporary objects.
Tensor of scalars, i.e. Tensor<scalar>.
static autoPtr< isoSurfaceBase > New(const isoSurfaceParams ¶ms, const volScalarField &cellValues, const scalarField &pointValues, const scalar iso, const bitSet &ignoreCells=bitSet())
Create for specified algorithm type.