Various (local, not parallel) searches on polyMesh; uses (demand driven) octree to search. More...
Public Member Functions | |
ClassName ("meshSearch") | |
meshSearch (const polyMesh &mesh, const polyMesh::cellDecomposition=polyMesh::CELL_TETS) | |
Construct from components. Constructs bb slightly bigger than. More... | |
meshSearch (const polyMesh &mesh, const treeBoundBox &bb, const polyMesh::cellDecomposition=polyMesh::CELL_TETS) | |
Construct with a custom bounding box. Any mesh element outside. More... | |
meshSearch (const meshSearch &)=delete | |
Disallow default bitwise copy construction. More... | |
~meshSearch () | |
Destructor. More... | |
const polyMesh & | mesh () const |
polyMesh::cellDecomposition | decompMode () const |
const indexedOctree< treeDataFace > & | boundaryTree () const |
Get (demand driven) reference to octree holding all. More... | |
const indexedOctree< treeDataCell > & | cellTree () const |
Get (demand driven) reference to octree holding all cells. More... | |
label | findNearestCell (const point &location, const label seedCelli=-1, const bool useTreeSearch=true) const |
Find nearest cell in terms of cell centre. More... | |
label | findNearestFace (const point &location, const label seedFacei=-1, const bool useTreeSearch=true) const |
label | findCell (const point &location, const label seedCelli=-1, const bool useTreeSearch=true) const |
Find cell containing location. More... | |
label | findNearestBoundaryFace (const point &location, const label seedFacei=-1, const bool useTreeSearch=true) const |
Find nearest boundary face. More... | |
pointIndexHit | intersection (const point &pStart, const point &pEnd) const |
Find first intersection of boundary in segment [pStart, pEnd]. More... | |
List< pointIndexHit > | intersections (const point &pStart, const point &pEnd) const |
Find all intersections of boundary within segment pStart .. pEnd. More... | |
bool | isInside (const point &) const |
Determine inside/outside status. More... | |
void | clearOut () |
Delete all storage. More... | |
void | correct () |
Correct for mesh geom/topo changes. More... | |
void | operator= (const meshSearch &)=delete |
Disallow default bitwise assignment. More... | |
Static Public Attributes | |
static scalar | tol_ = 1e-3 |
Tolerance on linear dimensions. More... | |
Various (local, not parallel) searches on polyMesh; uses (demand driven) octree to search.
Definition at line 57 of file meshSearch.H.
meshSearch | ( | const polyMesh & | mesh, |
const polyMesh::cellDecomposition | cellDecompMode = polyMesh::CELL_TETS |
||
) |
Construct from components. Constructs bb slightly bigger than.
mesh points bb.
Definition at line 551 of file meshSearch.C.
References polyMesh::CELL_TETS, polyMesh::FACE_DIAG_TRIS, and polyMesh::tetBasePtIs().
Referenced by findUniqueIntersectOp::operator()().
meshSearch | ( | const polyMesh & | mesh, |
const treeBoundBox & | bb, | ||
const polyMesh::cellDecomposition | cellDecompMode = polyMesh::CELL_TETS |
||
) |
Construct with a custom bounding box. Any mesh element outside.
bb will not be found. Up to user to make sure bb extends slightly beyond wanted elements.
Definition at line 571 of file meshSearch.C.
References polyMesh::CELL_TETS, polyMesh::FACE_DIAG_TRIS, and polyMesh::tetBasePtIs().
|
delete |
Disallow default bitwise copy construction.
~meshSearch | ( | ) |
Destructor.
Definition at line 596 of file meshSearch.C.
ClassName | ( | "meshSearch" | ) |
|
inline |
Definition at line 182 of file meshSearch.H.
|
inline |
Definition at line 187 of file meshSearch.H.
References meshSearch::boundaryTree(), meshSearch::cellTree(), meshSearch::clearOut(), meshSearch::correct(), meshSearch::findCell(), meshSearch::findNearestBoundaryFace(), meshSearch::findNearestCell(), meshSearch::findNearestFace(), meshSearch::intersection(), meshSearch::intersections(), meshSearch::isInside(), and meshSearch::operator=().
Referenced by NamedEnum< compressibleField, 8 >::names().
const Foam::indexedOctree< Foam::treeDataFace > & boundaryTree | ( | ) | const |
Get (demand driven) reference to octree holding all.
boundary faces
Definition at line 605 of file meshSearch.C.
References Foam::e, treeBoundBox::extend(), and forAll.
Referenced by meshSearch::decompMode().
const Foam::indexedOctree< Foam::treeDataCell > & cellTree | ( | ) | const |
Get (demand driven) reference to octree holding all cells.
Definition at line 656 of file meshSearch.C.
References Foam::e, treeBoundBox::extend(), and meshSearch::findNearestCell().
Referenced by meshSearch::decompMode(), and NamedEnum< compressibleField, 8 >::names().
Foam::label findNearestCell | ( | const point & | location, |
const label | seedCelli = -1 , |
||
const bool | useTreeSearch = true |
||
) | const |
Find nearest cell in terms of cell centre.
Options:
Definition at line 700 of file meshSearch.C.
References meshSearch::findNearestFace().
Referenced by meshSearch::cellTree(), and meshSearch::decompMode().
Foam::label findNearestFace | ( | const point & | location, |
const label | seedFacei = -1 , |
||
const bool | useTreeSearch = true |
||
) | const |
Definition at line 725 of file meshSearch.C.
References meshSearch::findCell().
Referenced by meshSearch::decompMode(), meshSearch::findNearestCell(), and mappedPatchBase::findSamples().
Foam::label findCell | ( | const point & | location, |
const label | seedCelli = -1 , |
||
const bool | useTreeSearch = true |
||
) | const |
Find cell containing location.
If seed provided walks and falls back to linear/tree search. (so handles holes correctly)s Returns -1 if not in domain.
Definition at line 750 of file meshSearch.C.
References meshSearch::findNearestBoundaryFace().
Referenced by lineFace::calcSamples(), meshSearch::decompMode(), and meshSearch::findNearestFace().
Foam::label findNearestBoundaryFace | ( | const point & | location, |
const label | seedFacei = -1 , |
||
const bool | useTreeSearch = true |
||
) | const |
Find nearest boundary face.
If seed provided walks but then does not pass local minima in distance. Also does not jump from one connected region to the next.
Definition at line 776 of file meshSearch.C.
References indexedOctree< Type >::bb(), PointHit< Point >::distance(), f(), PointIndexHit< Point >::hit(), PointIndexHit< Point >::index(), meshSearch::intersection(), Foam::magSqr(), Foam::minDist(), face::nearestPoint(), indexedOctree< Type >::shapes(), and Foam::sqr().
Referenced by meshSearch::decompMode(), and meshSearch::findCell().
Foam::pointIndexHit intersection | ( | const point & | pStart, |
const point & | pEnd | ||
) | const |
Find first intersection of boundary in segment [pStart, pEnd].
(so inclusive of endpoints). Always octree for now
Definition at line 844 of file meshSearch.C.
References PointIndexHit< Point >::hit(), PointIndexHit< Point >::index(), meshSearch::intersections(), and PointIndexHit< Point >::setIndex().
Referenced by meshSearch::decompMode(), and meshSearch::findNearestBoundaryFace().
Foam::List< Foam::pointIndexHit > intersections | ( | const point & | pStart, |
const point & | pEnd | ||
) | const |
Find all intersections of boundary within segment pStart .. pEnd.
Always octree for now
Definition at line 861 of file meshSearch.C.
References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), PointIndexHit< Point >::hit(), PointIndexHit< Point >::index(), PointIndexHit< Point >::setIndex(), and DynamicList< T, SizeInc, SizeMult, SizeDiv >::shrink().
Referenced by lineFace::calcSamples(), meshSearch::decompMode(), and meshSearch::intersection().
bool isInside | ( | const point & | p | ) | const |
Determine inside/outside status.
Definition at line 889 of file meshSearch.C.
References volumeType::inside.
Referenced by meshSearch::decompMode().
void clearOut | ( | ) |
Delete all storage.
Definition at line 895 of file meshSearch.C.
Referenced by meshSearch::decompMode().
void correct | ( | ) |
Correct for mesh geom/topo changes.
Definition at line 903 of file meshSearch.C.
Referenced by meshSearch::decompMode().
|
delete |
Disallow default bitwise assignment.
Referenced by meshSearch::decompMode().
|
static |
Tolerance on linear dimensions.
Definition at line 147 of file meshSearch.H.