|
ergo
|
Class that allows to find in NLogN time all shells that overlap with a given box. More...
Public Member Functions | |
| ShellTree (const BasisInfoStruct &bis_, const real *rShells_) | |
| root node constructor. | |
| ShellTree (const BasisInfoStruct &bis_, const real *rshell, const std::list< int > &activeShells, const Box &bb) | |
| Constructs the ShellTree. | |
| ~ShellTree () | |
| void | init (const BasisInfoStruct &bis_, const real *rShells_, const std::list< int > &activeShells, const Box &bb) |
| void | getOverlappingWith (const real *center, real cellsz, std::map< int, int > &res) const |
Private Attributes | |
| const ShellSpecStruct * | shells |
| ShellTree * | smaller |
| ShellTree * | larger |
| ergo_real | dividingValue |
| int | dividingDimension |
| std::map< int, ergo_real > | ownShells |
| set only for leaves, i.e. | |
| ergo_real | maxRadius |
| upper limit of ownShell radius. | |
Class that allows to find in NLogN time all shells that overlap with a given box.
| ShellTree::ShellTree | ( | const BasisInfoStruct & | bis_, |
| const real * | rShells ) |
root node constructor.
It does some initalization work and passes on the ball to the leave constructors.
References ShellSpecStruct::centerCoords, getBoundingBox(), init(), larger, maxRadius, BasisInfoStruct::noOfShells, BasisInfoStruct::shellList, shells, and smaller.
Referenced by init().
| ShellTree::ShellTree | ( | const BasisInfoStruct & | bis_, |
| const real * | rshell, | ||
| const std::list< int > & | activeShells, | ||
| const Box & | bb ) |
| void ShellTree::getOverlappingWith | ( | const real * | center, |
| real | cellsz, | ||
| std::map< int, int > & | res ) const |
References distance(), dividingDimension, dividingValue, larger, maxRadius, ownShells, shells, and smaller.
| void ShellTree::init | ( | const BasisInfoStruct & | bis_, |
| const real * | rShells_, | ||
| const std::list< int > & | activeShells, | ||
| const Box & | bb ) |
References dividingDimension, dividingValue, Box::getMaxDim(), Box::hi, larger, Box::lo, maxRadius, ownShells, shells, ShellTree(), and smaller.
Referenced by ShellTree(), and ShellTree().
|
private |
Referenced by getOverlappingWith(), and init().
|
private |
Referenced by getOverlappingWith(), and init().
|
private |
Referenced by getOverlappingWith(), init(), ShellTree(), ShellTree(), and ~ShellTree().
|
private |
upper limit of ownShell radius.
Referenced by getOverlappingWith(), init(), ShellTree(), and ShellTree().
|
private |
set only for leaves, i.e.
such ShellTree objects that have smaller and larger fields set to NULL. Tree node contains a shell
Referenced by getOverlappingWith(), and init().
|
private |
Referenced by getOverlappingWith(), init(), ShellTree(), and ShellTree().
|
private |
Referenced by getOverlappingWith(), init(), ShellTree(), ShellTree(), and ~ShellTree().