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_;
const scalarField & pointValues() const noexcept
The mesh point values used for creating the iso-surface.
void size(const label n)
Older name for setAddressableSize.
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.
Marching tet iso surface algorithm with optional filtering to keep only points originating from mesh ...
A 1D vector of objects of type <T> with a fixed length <N>.
Preferences for controlling iso-surface algorithms.
tmp< Field< Type > > interpolateTemplate(const Field< Type > &cellData, const Field< Type > &pointData) const
Interpolates cellData and pointData fields.
Low-level components common to various iso-surface algorithms.
virtual ~isoSurfaceTopo()=default
Destructor.
void inplaceSubsetMesh(const bitSet &include)
Subset the surface using the selected faces.
pointField vertices(const blockVertexList &bvl)
A list of faces which address into the list of points.
isoSurfaceParams(const algorithmType algo=algorithmType::ALGO_DEFAULT, const filterType filter=filterType::DIAGCELL) noexcept
Default construct, or with specified algorithm.
#define declareIsoSurfaceInterpolateMethod(Type)
An edge is a list of two vertex labels. This can correspond to a directed graph edge or an edge on a ...
Generic templated field type.
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.
A tetrahedral cell primitive.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
const edgeList & pointToVerts() const noexcept
Per point: originating mesh vertex/cell centre combination.
Mesh consisting of general polyhedral cells.
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))
Tensor of scalars, i.e. Tensor<scalar>.
label nFaces() const noexcept
Number of faces in the patch.
A topoSetFaceSource to select faces with any point or any edge within a given pointSet(s).
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
TypeName("isoSurfaceTopo")
Runtime type information.