Classes | Public Member Functions | Static Public Member Functions | Friends | List of all members
indexedOctree Class Reference

Non-pointer based hierarchical recursive searching. More...

Inheritance diagram for indexedOctree:
Inheritance graph
[legend]

Classes

class  node
 

Public Member Functions

 indexedOctree (const Type &shapes)
 
 indexedOctree (const Type &shapes, const List< node > &nodes, const labelListList &contents)
 
 indexedOctree (const Type &shapes, const treeBoundBox &bb, const label maxLevels, const scalar maxLeafRatio, const scalar maxDuplicity)
 
 indexedOctree (const Type &shapes, Istream &is)
 
autoPtr< indexedOctree< Type > > clone () const
 
const Type & shapes () const
 
const List< node > & nodes () const
 
const labelListListcontents () const
 
const treeBoundBoxbb () const
 
PackedList< 2 > & nodeTypes () const
 
pointIndexHit findNearest (const point &sample, const scalar nearestDistSqr) const
 
template<class FindNearestOp >
pointIndexHit findNearest (const point &sample, const scalar nearestDistSqr, const FindNearestOp &fnOp) const
 
template<class FindNearestOp >
void findNearest (const label nodeI, const point &, scalar &nearestDistSqr, label &nearestShapeI, point &nearestPoint, const FindNearestOp &fnOp) const
 
pointIndexHit findNearest (const linePointRef &ln, treeBoundBox &tightest, point &linePoint) const
 
template<class FindNearestOp >
pointIndexHit findNearest (const linePointRef &ln, treeBoundBox &tightest, point &linePoint, const FindNearestOp &fnOp) const
 
pointIndexHit findLine (const point &start, const point &end) const
 
pointIndexHit findLineAny (const point &start, const point &end) const
 
template<class FindIntersectOp >
pointIndexHit findLine (const point &start, const point &end, const FindIntersectOp &fiOp) const
 
template<class FindIntersectOp >
pointIndexHit findLineAny (const point &start, const point &end, const FindIntersectOp &fiOp) const
 
labelList findBox (const treeBoundBox &bb) const
 
labelList findSphere (const point &centre, const scalar radiusSqr) const
 
labelBits findNode (const label nodeI, const point &) const
 
label findInside (const point &) const
 
const labelListfindIndices (const point &) const
 
volumeType getVolumeType (const point &) const
 
template<class CompareOp >
void findNear (const scalar nearDist, const indexedOctree< Type > &tree2, CompareOp &cop) const
 
void print (prefixOSstream &, const bool printContents, const label) const
 
bool write (Ostream &os) const
 
template<class FindIntersectOp >
Foam::pointIndexHit findLine (const bool findAny, const point &treeStart, const point &treeEnd, const label startNodeI, const direction startOctant, const FindIntersectOp &fiOp, const bool verbose) const
 
template<class FindIntersectOp >
Foam::pointIndexHit findLine (const bool findAny, const point &start, const point &end, const FindIntersectOp &fiOp) const
 
template<class Type >
Foam::pointIndexHit findNearest (const point &sample, const scalar startDistSqr) const
 
template<class FindNearestOp >
Foam::pointIndexHit findNearest (const point &sample, const scalar startDistSqr, const FindNearestOp &fnOp) const
 
template<class Type >
Foam::pointIndexHit findNearest (const linePointRef &ln, treeBoundBox &tightest, point &linePoint) const
 
template<class FindNearestOp >
Foam::pointIndexHit findNearest (const linePointRef &ln, treeBoundBox &tightest, point &linePoint, const FindNearestOp &fnOp) const
 
template<class Type >
Foam::pointIndexHit findLine (const point &start, const point &end) const
 
template<class Type >
Foam::pointIndexHit findLineAny (const point &start, const point &end) const
 
template<class FindIntersectOp >
Foam::pointIndexHit findLine (const point &start, const point &end, const FindIntersectOp &fiOp) const
 
template<class FindIntersectOp >
Foam::pointIndexHit findLineAny (const point &start, const point &end, const FindIntersectOp &fiOp) const
 

Static Public Member Functions

static scalar & perturbTol ()
 
static bool isContent (const labelBits i)
 
static bool isEmpty (const labelBits i)
 
static bool isNode (const labelBits i)
 
static label getContent (const labelBits i)
 
static label getNode (const labelBits i)
 
static direction getOctant (const labelBits i)
 
static volumeType getSide (const vector &outsideNormal, const vector &vec)
 
static bool overlaps (const point &bbMin, const point &bbMax, const scalar nearestDistSqr, const point &sample)
 

Friends

Ostreamoperator (Ostream &, const indexedOctree< Type > &)
 

Detailed Description

Non-pointer based hierarchical recursive searching.

Source files

Definition at line 46 of file treeDataEdge.H.

Constructor & Destructor Documentation

◆ indexedOctree() [1/4]

indexedOctree ( const Type &  shapes)

Definition at line 2163 of file indexedOctree.C.

◆ indexedOctree() [2/4]

indexedOctree ( const Type &  shapes,
const List< node > &  nodes,
const labelListList contents 
)

Definition at line 2174 of file indexedOctree.C.

◆ indexedOctree() [3/4]

indexedOctree ( const Type &  shapes,
const treeBoundBox bb,
const label  maxLevels,
const scalar  maxLeafRatio,
const scalar  maxDuplicity 
)

Definition at line 2189 of file indexedOctree.C.

◆ indexedOctree() [4/4]

indexedOctree ( const Type &  shapes,
Istream is 
)

Definition at line 2361 of file indexedOctree.C.

Member Function Documentation

◆ perturbTol()

Foam::scalar & perturbTol ( )
static

◆ clone()

autoPtr<indexedOctree<Type> > clone ( ) const
inline

Definition at line 430 of file indexedOctree.H.

◆ shapes()

const Type& shapes ( ) const
inline

◆ nodes()

const List<node>& nodes ( ) const
inline

Definition at line 446 of file indexedOctree.H.

Referenced by distributedTriSurfaceMesh::getVolumeType().

Here is the caller graph for this function:

◆ contents()

const labelListList& contents ( ) const
inline

Definition at line 453 of file indexedOctree.H.

◆ bb()

const treeBoundBox& bb ( ) const
inline

◆ nodeTypes()

PackedList<2>& nodeTypes ( ) const
inline

Definition at line 470 of file indexedOctree.H.

Referenced by distributedTriSurfaceMesh::getVolumeType().

Here is the caller graph for this function:

◆ isContent()

static bool isContent ( const labelBits  i)
inlinestatic

Definition at line 478 of file indexedOctree.H.

Referenced by indexedOctree< Foam::treeDataPrimitivePatch< PatchType > >::getContent().

Here is the caller graph for this function:

◆ isEmpty()

static bool isEmpty ( const labelBits  i)
inlinestatic

Definition at line 483 of file indexedOctree.H.

◆ isNode()

static bool isNode ( const labelBits  i)
inlinestatic

Definition at line 488 of file indexedOctree.H.

Referenced by indexedOctree< Foam::treeDataPrimitivePatch< PatchType > >::getNode().

Here is the caller graph for this function:

◆ getContent()

static label getContent ( const labelBits  i)
inlinestatic

Definition at line 493 of file indexedOctree.H.

◆ getNode()

static label getNode ( const labelBits  i)
inlinestatic

Definition at line 503 of file indexedOctree.H.

◆ getOctant()

static direction getOctant ( const labelBits  i)
inlinestatic

Definition at line 513 of file indexedOctree.H.

◆ findNearest() [1/9]

pointIndexHit findNearest ( const point sample,
const scalar  nearestDistSqr 
) const

◆ findNearest() [2/9]

pointIndexHit findNearest ( const point sample,
const scalar  nearestDistSqr,
const FindNearestOp &  fnOp 
) const

◆ findNearest() [3/9]

void findNearest ( const label  nodeI,
const point sample,
scalar &  nearestDistSqr,
label &  nearestShapeI,
point nearestPoint,
const FindNearestOp &  fnOp 
) const

Definition at line 482 of file indexedOctree.C.

◆ findNearest() [4/9]

pointIndexHit findNearest ( const linePointRef ln,
treeBoundBox tightest,
point linePoint 
) const

◆ findNearest() [5/9]

pointIndexHit findNearest ( const linePointRef ln,
treeBoundBox tightest,
point linePoint,
const FindNearestOp &  fnOp 
) const

◆ findLine() [1/6]

pointIndexHit findLine ( const point start,
const point end 
) const

◆ findLineAny() [1/4]

pointIndexHit findLineAny ( const point start,
const point end 
) const

Referenced by triSurfaceSearch::findLineAny().

Here is the caller graph for this function:

◆ findLine() [2/6]

pointIndexHit findLine ( const point start,
const point end,
const FindIntersectOp &  fiOp 
) const

◆ findLineAny() [2/4]

pointIndexHit findLineAny ( const point start,
const point end,
const FindIntersectOp &  fiOp 
) const

◆ findBox()

labelList findBox ( const treeBoundBox bb) const

◆ findSphere()

Foam::labelList findSphere ( const point centre,
const scalar  radiusSqr 
) const

Definition at line 2565 of file indexedOctree.C.

◆ findNode()

Foam::labelBits findNode ( const label  nodeI,
const point sample 
) const

Definition at line 2586 of file indexedOctree.C.

◆ findInside()

Foam::label findInside ( const point sample) const

Definition at line 2622 of file indexedOctree.C.

Referenced by polyMesh::findCellFacePt(), mappedPatchBase::findLocalSamples(), and propellerInfo::updateSampleDiskCells().

Here is the caller graph for this function:

◆ findIndices()

const Foam::labelList & findIndices ( const point sample) const

Definition at line 2657 of file indexedOctree.C.

◆ getVolumeType()

volumeType getVolumeType ( const point ) const

◆ getSide()

Foam::volumeType getSide ( const vector outsideNormal,
const vector vec 
)
static

Definition at line 463 of file indexedOctree.C.

Referenced by treeDataFace::getVolumeType().

Here is the caller graph for this function:

◆ overlaps()

static bool overlaps ( const point bbMin,
const point bbMax,
const scalar  nearestDistSqr,
const point sample 
)
static

◆ findNear()

void findNear ( const scalar  nearDist,
const indexedOctree< Type > &  tree2,
CompareOp &  cop 
) const

Definition at line 2754 of file indexedOctree.C.

◆ print()

void print ( prefixOSstream os,
const bool  printContents,
const label  nodeI 
) const

Definition at line 2780 of file indexedOctree.C.

◆ write()

bool write ( Ostream os) const

Definition at line 2857 of file indexedOctree.C.

◆ findLine() [3/6]

Foam::pointIndexHit findLine ( const bool  findAny,
const point treeStart,
const point treeEnd,
const label  startNodeI,
const direction  startOctant,
const FindIntersectOp &  fiOp,
const bool  verbose 
) const

Definition at line 1548 of file indexedOctree.C.

◆ findLine() [4/6]

Foam::pointIndexHit findLine ( const bool  findAny,
const point start,
const point end,
const FindIntersectOp &  fiOp 
) const

Definition at line 1740 of file indexedOctree.C.

◆ findNearest() [6/9]

Foam::pointIndexHit findNearest ( const point sample,
const scalar  startDistSqr 
) const

Definition at line 2384 of file indexedOctree.C.

◆ findNearest() [7/9]

Foam::pointIndexHit findNearest ( const point sample,
const scalar  startDistSqr,
const FindNearestOp &  fnOp 
) const

Definition at line 2401 of file indexedOctree.C.

◆ findNearest() [8/9]

Foam::pointIndexHit findNearest ( const linePointRef ln,
treeBoundBox tightest,
point linePoint 
) const

Definition at line 2433 of file indexedOctree.C.

◆ findNearest() [9/9]

Foam::pointIndexHit findNearest ( const linePointRef ln,
treeBoundBox tightest,
point linePoint,
const FindNearestOp &  fnOp 
) const

Definition at line 2452 of file indexedOctree.C.

◆ findLine() [5/6]

Foam::pointIndexHit findLine ( const point start,
const point end 
) const

Definition at line 2485 of file indexedOctree.C.

◆ findLineAny() [3/4]

Foam::pointIndexHit findLineAny ( const point start,
const point end 
) const

Definition at line 2502 of file indexedOctree.C.

◆ findLine() [6/6]

Foam::pointIndexHit findLine ( const point start,
const point end,
const FindIntersectOp &  fiOp 
) const

Definition at line 2520 of file indexedOctree.C.

◆ findLineAny() [4/4]

Foam::pointIndexHit findLineAny ( const point start,
const point end,
const FindIntersectOp &  fiOp 
) const

Definition at line 2533 of file indexedOctree.C.

Friends And Related Function Documentation

◆ operator

Ostream& operator ( Ostream ,
const indexedOctree< Type > &   
)
friend

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