Public Member Functions | List of all members
triSurfaceSearch Class Reference

Helper class to search on triSurface. More...

Inheritance diagram for triSurfaceSearch:
Inheritance graph
[legend]

Public Member Functions

 triSurfaceSearch (const triSurface &)
 Construct from surface. Holds reference to surface! More...
 
 triSurfaceSearch (const triSurface &, const dictionary &dict)
 Construct from surface and dictionary. More...
 
 triSurfaceSearch (const triSurface &surface, const scalar tolerance, const label maxTreeDepth)
 Construct from components. More...
 
 ~triSurfaceSearch ()
 Destructor. More...
 
void clearOut ()
 Clear storage. More...
 
const indexedOctree< treeDataTriSurface > & tree () const
 Demand driven construction of the octree. More...
 
const triSurfacesurface () const
 Return reference to the surface. More...
 
scalar tolerance () const
 Return tolerance to use in searches. More...
 
label maxTreeDepth () const
 Return max tree depth of octree. More...
 
boolList calcInside (const pointField &searchPoints) const
 Calculate for each searchPoint inside/outside status. More...
 
void findNearest (const pointField &samples, const scalarField &nearestDistSqr, List< pointIndexHit > &info) const
 
pointIndexHit nearest (const point &, const vector &span) const
 Calculate nearest point on surface for single searchPoint. Returns. More...
 
void findLine (const pointField &start, const pointField &end, List< pointIndexHit > &info) const
 
void findLineAny (const pointField &start, const pointField &end, List< pointIndexHit > &info) const
 
void findLineAll (const pointField &start, const pointField &end, List< List< pointIndexHit >> &info) const
 Calculate all intersections from start to end. More...
 

Detailed Description

Helper class to search on triSurface.

Source files

Definition at line 55 of file triSurfaceSearch.H.

Constructor & Destructor Documentation

◆ triSurfaceSearch() [1/3]

triSurfaceSearch ( const triSurface surface)
explicit

Construct from surface. Holds reference to surface!

Definition at line 133 of file triSurfaceSearch.C.

◆ triSurfaceSearch() [2/3]

triSurfaceSearch ( const triSurface surface,
const dictionary dict 
)

Construct from surface and dictionary.

Definition at line 143 of file triSurfaceSearch.C.

References Foam::endl(), Foam::Info, and dictionary::readIfPresent().

Here is the call graph for this function:

◆ triSurfaceSearch() [3/3]

triSurfaceSearch ( const triSurface surface,
const scalar  tolerance,
const label  maxTreeDepth 
)

Construct from components.

Definition at line 168 of file triSurfaceSearch.C.

◆ ~triSurfaceSearch()

Destructor.

Definition at line 183 of file triSurfaceSearch.C.

References triSurfaceSearch::clearOut().

Here is the call graph for this function:

Member Function Documentation

◆ clearOut()

void clearOut ( )

Clear storage.

Definition at line 189 of file triSurfaceSearch.C.

Referenced by triSurfaceRegionSearch::clearOut(), and triSurfaceSearch::~triSurfaceSearch().

Here is the caller graph for this function:

◆ tree()

const Foam::indexedOctree< Foam::treeDataTriSurface > & tree ( ) const

◆ surface()

const triSurface& surface ( ) const
inline

Return reference to the surface.

Definition at line 125 of file triSurfaceSearch.H.

Referenced by edgeIntersections::edgeIntersections(), edgeIntersections::removeDegenerates(), surfaceIntersection::surfaceIntersection(), triSurfaceSearch::tree(), and triSurfaceRegionSearch::treeByRegion().

Here is the caller graph for this function:

◆ tolerance()

scalar tolerance ( ) const
inline

◆ maxTreeDepth()

label maxTreeDepth ( ) const
inline

Return max tree depth of octree.

Definition at line 137 of file triSurfaceSearch.H.

References triSurfaceSearch::calcInside(), triSurfaceSearch::findLine(), triSurfaceSearch::findLineAll(), triSurfaceSearch::findLineAny(), triSurfaceSearch::findNearest(), triSurfaceSearch::nearest(), and samples().

Referenced by triSurfaceMesh::edgeTree(), and triSurfaceRegionSearch::treeByRegion().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calcInside()

Foam::boolList calcInside ( const pointField searchPoints) const

Calculate for each searchPoint inside/outside status.

Definition at line 249 of file triSurfaceSearch.C.

References triSurfaceSearch::findNearest(), forAll, volumeType::INSIDE, List< T >::size(), and triSurfaceSearch::tree().

Referenced by triSurfaceSearch::maxTreeDepth(), and triSurfaceSearch::tree().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findNearest()

void findNearest ( const pointField samples,
const scalarField nearestDistSqr,
List< pointIndexHit > &  info 
) const

◆ nearest()

Foam::pointIndexHit nearest ( const point pt,
const vector span 
) const

Calculate nearest point on surface for single searchPoint. Returns.

in pointIndexHit:

  • hit() : whether nearest point found within bounding box
  • hitPoint() : coordinate of nearest point
  • index() : surface triangle label

Definition at line 305 of file triSurfaceSearch.C.

References triSurfaceSearch::findLine(), Foam::magSqr(), and triSurfaceSearch::tree().

Referenced by triSurfaceSearch::findNearest(), and triSurfaceSearch::maxTreeDepth().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findLine()

void findLine ( const pointField start,
const pointField end,
List< pointIndexHit > &  info 
) const

◆ findLineAny()

void findLineAny ( const pointField start,
const pointField end,
List< pointIndexHit > &  info 
) const

◆ findLineAll()

void findLineAll ( const pointField start,
const pointField end,
List< List< pointIndexHit >> &  info 
) const

The documentation for this class was generated from the following files: