229 const label nCutLayers,
252 cellType.trimCutCells
262 label cType = cellType[celli];
297 for (label celli = 0; celli <
mesh.
nCells(); celli++)
299 if (internalCells.
found(celli))
306 const face&
f = faces[cFaces[cFacei]];
310 label pointi =
f[fp];
312 if (pointSide[pointi] == NOTSET)
314 pointSide[pointi] = INSIDE;
316 else if (pointSide[pointi] == OUTSIDE)
318 pointSide[pointi] = MIXED;
334 const face&
f = faces[cFaces[cFacei]];
338 label pointi =
f[fp];
340 if (pointSide[pointi] == NOTSET)
342 pointSide[pointi] = OUTSIDE;
344 else if (pointSide[pointi] == INSIDE)
346 pointSide[pointi] = MIXED;
376 for (
const label celli : internalCells)
380 label usesMixedOnly =
true;
382 for (
const label facei : cFaces)
384 const face&
f = faces[facei];
386 for (
const label pointi :
f)
388 if (pointSide[pointi] != MIXED)
390 usesMixedOnly =
false;
402 mixedOnlyCells.
insert(celli);
406 return mixedOnlyCells;
bool insert(const Key &key)
Insert a new entry, not overwriting existing entries.
bool found(const Key &key) const
Return true if hashed entry is found in table.
label size() const noexcept
The number of elements in table.
'Cuts' a mesh with a surface.
A cell is defined as a list of faces with extra functionality.
A face is a list of labels corresponding to mesh vertices.
A class for handling file names.
Various (local, not parallel) searches on polyMesh; uses (demand driven) octree to search.
Mesh consisting of general polyhedral cells.
virtual const faceList & faces() const
Return raw faces.
Cell-face mesh analysis engine.
label nPoints() const noexcept
Number of mesh points.
label nCells() const noexcept
Number of mesh cells.
const cellList & cells() const
Patchify triangles based on orientation w.r.t other (triangulated or triangulatable) surfaces.
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.
Helper class to search on triSurface.
Triangulated surface description with patch information.
#define forAll(list, i)
Loop across all elements in list.