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_;
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. For easier forward declaration it is currently i...
Generic templated field type.
A 1D vector of objects of type <T> with a fixed length <N>.
A HashTable to objects of type <T> with a label key.
A list of faces which address into the list of points.
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 edge is a list of two point labels. The functionality it provides supports the discretisation on a...
Low-level components common to various iso-surface algorithms.
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.
Marching tet iso surface algorithm with optional filtering to keep only points originating from mesh ...
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.
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.
const labelList nFaces(UPstream::listGatherValues< label >(aMesh.nFaces()))
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)
pointField vertices(const blockVertexList &bvl)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.