Go to the documentation of this file.
28 #include "triSurface.H"
230 const label nCutLayers,
256 cellClassification::OUTSIDE,
257 cellClassification::INSIDE
263 label cType = cellType[cellI];
265 if (cType == cellClassification::CUT)
269 else if (cType == cellClassification::INSIDE)
273 else if (cType == cellClassification::OUTSIDE)
298 for (
label cellI = 0; cellI <
mesh.nCells(); cellI++)
300 if (internalCells.
found(cellI))
307 const face&
f = faces[cFaces[cFaceI]];
313 if (pointSide[pointI] == NOTSET)
315 pointSide[pointI] = INSIDE;
317 else if (pointSide[pointI] == OUTSIDE)
319 pointSide[pointI] = MIXED;
335 const face&
f = faces[cFaces[cFaceI]];
341 if (pointSide[pointI] == NOTSET)
343 pointSide[pointI] = OUTSIDE;
345 else if (pointSide[pointI] == INSIDE)
347 pointSide[pointI] = MIXED;
379 const label cellI = iter.key();
382 label usesMixedOnly =
true;
386 const face&
f = faces[cFaces[i]];
390 if (pointSide[
f[fp]] != MIXED)
392 usesMixedOnly =
false;
404 mixedOnlyCells.
insert(cellI);
408 return mixedOnlyCells;
static labelHashSet getHangingCells(const primitiveMesh &mesh, const labelHashSet &internalCells)
Get cells using points on 'outside' only.
static void getSurfaceSets(const polyMesh &mesh, const fileName &surfName, const triSurface &surf, const triSurfaceSearch &querySurf, const pointField &outsidePts, const label nCutLayers, labelHashSet &inside, labelHashSet &outside, labelHashSet &cut)
Divide cells into cut,inside and outside.
Various (local, not parallel) searches on polyMesh; uses (demand driven) octree to search.
A class for handling file names.
#define forAll(list, i)
Loop across all elements in list.
Helper class to search on triSurface.
Mesh consisting of general polyhedral cells.
label trimCutCells(const label nLayers, const label meshType, const label fillType)
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
Triangulated surface description with patch information.
Patchify triangles based on orientation w.r.t other (triangulated or triangulatable) surfaces.
label size() const
Return number of elements in table.
bool found(const Key &) const
Return true if hashedEntry is found in table.
'Cuts' a mesh with a surface.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
bool insert(const Key &key)
Insert a new entry.
A face is a list of labels corresponding to mesh vertices.
A cell is defined as a list of faces with extra functionality.
Cell-face mesh analysis engine.