40#ifndef isoSurfaceTopo_H
41#define isoSurfaceTopo_H
75 class tetCutAddressing
102 const label nCutCells,
104 const bool useDebugCuts =
false
111 label
nFaces()
const {
return cutPoints_.
size()/3; }
121 label nDebugTets()
const {
return debugCutTets_.
size(); }
124 bool debugCutTetsOn()
const {
return debugCutTetsOn_; }
127 void clearDiagonal();
146 const int tetCutIndex,
156 void generateTriPoints
162 tetCutAddressing& tetCutAddr
168 static void triangulateOutside
170 const bool filterDiag,
181 static void removeInsidePoints
184 const bool filterDiag,
253 return pointToVerts_;
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
Map from edge (expressed as its endpoints) to value. Hashing (and ==) on an edge is symmetric.
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
A 1D vector of objects of type <T> with a fixed length <N>.
A HashTable to objects of type <T> with a label key.
label nFaces() const noexcept
void size(const label n)
Older name for setAddressableSize.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
An analytical geometric cellShape.
An edge is a list of two vertex labels. This can correspond to a directed graph edge or an edge on a ...
isoSurfaceBase(const isoSurfaceBase &)=delete
No copy construct.
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.
const scalarField & pointValues() const noexcept
The mesh point values used for creating the iso-surface.
Preferences for controlling iso-surface algorithms.
isoSurfaceParams(const algorithmType algo=algorithmType::ALGO_DEFAULT, const filterType filter=filterType::DIAGCELL) noexcept
Default construct, or with specified algorithm.
const edgeList & pointToVerts() const noexcept
Per point: originating mesh vertex/cell centre combination.
virtual ~isoSurfaceTopo()=default
Destructor.
void inplaceSubsetMesh(const bitSet &include)
Subset the surface using the selected faces.
TypeName("isoSurfaceTopo")
Runtime type information.
isoSurfaceTopo(const polyMesh &mesh, const scalarField &cellValues, const scalarField &pointValues, const scalar iso, const isoSurfaceParams ¶ms=isoSurfaceParams(), const bitSet &ignoreCells=bitSet())
Construct from cell and point values.
tmp< Field< Type > > interpolateTemplate(const Field< Type > &cellData, const Field< Type > &pointData) const
Interpolates cellData and pointData fields.
A topoSetFaceSource to select faces with any point or any edge within a given pointSet(s).
Mesh consisting of general polyhedral cells.
A tetrahedral cell primitive.
A class for managing temporary objects.
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
#define declareIsoSurfaceInterpolateMethod(Type)
List< edge > edgeList
List of edge.
List< label > labelList
A List of labels.
PrimitivePatch< SubList< face >, const pointField & > primitivePatch
A PrimitivePatch with a SubList addressing for the faces, const reference for the point field.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
pointField vertices(const blockVertexList &bvl)
UList< bool > boolUList
A UList of bools.
UList< label > labelUList
A UList of labels.
SphericalTensor< scalar > sphericalTensor
SphericalTensor of scalars, i.e. SphericalTensor<scalar>.
SymmTensor< scalar > symmTensor
SymmTensor of scalars, i.e. SymmTensor<scalar>.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.