Template invariant parts for indexedOctree. More...
#include <indexedOctree.H>

Classes | |
| class | node |
| Tree node. Has up pointer and down pointers. More... | |
Public Member Functions | |
| ClassName ("indexedOctree") | |
| Runtime type information. | |
| indexedOctreeBase ()=default | |
| Default construct. | |
Static Public Member Functions | |
| static bool | isEmpty (labelBits i) noexcept |
| An empty node - no content. | |
| static bool | isContent (labelBits i) noexcept |
| Node with content (leaf). | |
| static bool | isNode (labelBits i) noexcept |
| A parent node. | |
| static label | getContent (labelBits i) |
| Return real (dereferenced) index for a content node. | |
| static label | getNode (const labelBits i) |
| Return real (dereferenced) index for a parent node. | |
| static direction | getOctant (labelBits i) noexcept |
| Return sub-node direction/octant. | |
| static scalar & | perturbTol () noexcept |
| Get the perturbation tolerance. | |
| static scalar | perturbTol (scalar tol) noexcept |
| Set the perturbation tolerance, return the old value. | |
| static void | writeOBJ (Ostream &os, const treeBoundBox &bb, label &vertIndex, const bool writeLinesOnly=false) |
| Write treeBoundBox in OBJ format. | |
Static Protected Member Functions | |
| static labelBits | emptyPlusOctant (direction octant) |
| From empty to subNodes_ entry. | |
| static labelBits | contentPlusOctant (label i, direction octant) |
| From index into contents_ to subNodes_ entry. | |
| static labelBits | nodePlusOctant (label i, direction octant) |
| From index into nodes_ to subNodes_ entry. | |
Static Protected Attributes | |
| static scalar | perturbTol_ = 10*SMALL |
| Relative perturbation tolerance. | |
Template invariant parts for indexedOctree.
The internal node bookkeeping is encoded follows:
Definition at line 67 of file indexedOctree.H.
|
default |
|
inlinestaticnoexcept |
An empty node - no content.
Definition at line 139 of file indexedOctree.H.
|
inlinestaticnoexcept |
Node with content (leaf).
Definition at line 147 of file indexedOctree.H.
Referenced by dynamicIndexedOctree< Foam::dynamicTreeDataPoint >::dynamicIndexedOctree(), dynamicIndexedOctree< Type >::findIndices(), indexedOctree< Type >::findIndices(), dynamicIndexedOctree< Type >::findInside(), indexedOctree< Type >::findInside(), dynamicIndexedOctree< Type >::findNearest(), indexedOctree< Type >::findNearest(), dynamicIndexedOctree< Type >::findNode(), indexedOctree< Type >::findNode(), getContent(), dynamicIndexedOctree< Type >::insertIndex(), dynamicIndexedOctree< Type >::print(), indexedOctree< Type >::print(), and dynamicIndexedOctree< Type >::removeIndex().

|
inlinestaticnoexcept |
A parent node.
Definition at line 155 of file indexedOctree.H.
Referenced by dynamicIndexedOctree< Foam::dynamicTreeDataPoint >::dynamicIndexedOctree(), dynamicIndexedOctree< Type >::findNearest(), indexedOctree< Type >::findNearest(), dynamicIndexedOctree< Type >::findNode(), indexedOctree< Type >::findNode(), getNode(), dynamicIndexedOctree< Type >::insertIndex(), dynamicIndexedOctree< Type >::print(), indexedOctree< Type >::print(), dynamicIndexedOctree< Type >::removeIndex(), and indexedOctree< treeType >::write().

|
inlinestatic |
Return real (dereferenced) index for a content node.
Definition at line 166 of file indexedOctree.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, isContent(), and labelBits::val().
Referenced by dynamicIndexedOctree< Foam::dynamicTreeDataPoint >::dynamicIndexedOctree(), dynamicIndexedOctree< Type >::findIndices(), indexedOctree< Type >::findIndices(), dynamicIndexedOctree< Type >::findInside(), indexedOctree< Type >::findInside(), dynamicIndexedOctree< Type >::findNearest(), indexedOctree< Type >::findNearest(), dynamicIndexedOctree< Type >::insertIndex(), dynamicIndexedOctree< Type >::print(), indexedOctree< Type >::print(), and dynamicIndexedOctree< Type >::removeIndex().


|
inlinestatic |
Return real (dereferenced) index for a parent node.
Definition at line 179 of file indexedOctree.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, isNode(), and labelBits::val().
Referenced by dynamicIndexedOctree< Foam::dynamicTreeDataPoint >::dynamicIndexedOctree(), dynamicIndexedOctree< Type >::findIndices(), indexedOctree< Type >::findIndices(), dynamicIndexedOctree< Type >::findInside(), indexedOctree< Type >::findInside(), indexedOctree< treeDataIndirectTriSurface >::findLine(), dynamicIndexedOctree< Type >::findNearest(), indexedOctree< Type >::findNearest(), dynamicIndexedOctree< Type >::findNode(), indexedOctree< Type >::findNode(), dynamicIndexedOctree< Type >::insertIndex(), dynamicIndexedOctree< Type >::print(), indexedOctree< Type >::print(), dynamicIndexedOctree< Type >::removeIndex(), and indexedOctree< treeType >::write().


Return sub-node direction/octant.
Definition at line 192 of file indexedOctree.H.
Referenced by indexedOctree< treeDataIndirectTriSurface >::findLine(), and indexedOctree< treeType >::write().

From empty to subNodes_ entry.
Definition at line 221 of file indexedOctree.H.
Referenced by dynamicIndexedOctree< Type >::removeIndex().

From index into contents_ to subNodes_ entry.
Definition at line 229 of file indexedOctree.H.
Referenced by dynamicIndexedOctree< Type >::insertIndex().

From index into nodes_ to subNodes_ entry.
Definition at line 237 of file indexedOctree.H.
Referenced by dynamicIndexedOctree< Type >::findNear(), indexedOctree< Type >::findNear(), dynamicIndexedOctree< Type >::findNode(), indexedOctree< Type >::findNode(), dynamicIndexedOctree< Type >::print(), and indexedOctree< Type >::print().

|
inlinestaticnoexcept |
Get the perturbation tolerance.
Definition at line 248 of file indexedOctree.H.
References Foam::noexcept, and perturbTol_.
Referenced by AMIInterpolation::createTree(), triSurfaceMesh::edgeTree(), triSurfaceSearch::findLine(), triSurfaceSearch::findLineAll(), triSurfaceSearch::findLineAny(), triSurfaceRegionSearch::findNearest(), triSurfaceSearch::findNearest(), triSurfaceMesh::getVolumeType(), triSurfaceSearch::tree(), triSurfaceRegionSearch::treeByRegion(), and triSurfaceSearch::triSurfaceSearch().

|
inlinestaticnoexcept |
Set the perturbation tolerance, return the old value.
Definition at line 253 of file indexedOctree.H.
References perturbTol_.
| ClassName | ( | "indexedOctree" | ) |
Runtime type information.
|
static |
Write treeBoundBox in OBJ format.
Definition at line 37 of file indexedOctreeBase.C.
References e, treeBoundBox::edges, f(), treeBoundBox::faces, Foam::nl, os(), p, treeBoundBox::points(), and pts.

|
staticprotected |
Relative perturbation tolerance.
Determines when point is considered to be close to face/edge of bb of node. The tolerance is relative to the bounding box of the smallest node.
Definition at line 210 of file indexedOctree.H.
Referenced by Foam::defineTypeNameAndDebug(), indexedOctree< treeType >::indexedOctree(), perturbTol(), and perturbTol().