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]];
311 label pointi = f[fp];
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]];
339 label pointi = f[fp];
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();
380 const cell& cFaces = cells[celli];
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;
Various (local, not parallel) searches on polyMesh; uses (demand driven) octree to search...
label trimCutCells(const label nLayers, const label meshType, const label fillType)
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A class for handling file names.
A face is a list of labels corresponding to mesh vertices.
Cell-face mesh analysis engine.
const cellList & cells() const
bool insert(const Key &key)
Insert a new entry.
label size() const
Return number of elements in table.
static labelHashSet getHangingCells(const primitiveMesh &mesh, const labelHashSet &internalCells)
Get cells using points on 'outside' only.
Helper class to search on triSurface.
'Cuts' a mesh with a surface.
bool found(const Key &) const
Return true if hashedEntry is found in table.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
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.
A cell is defined as a list of faces with extra functionality.
virtual const faceList & faces() const =0
Return faces.
Mesh consisting of general polyhedral cells.
Triangulated surface description with patch information.