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. More... | |
ShellTree (const BasisInfoStruct &bis_, const real *rshell, const std::list< int > &activeShells, const Box &bb) | |
Constructs the ShellTree. More... | |
~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. More... | |
ergo_real | maxRadius |
upper limit of ownShell radius. More... | |
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(), BasisInfoStruct::noOfShells, BasisInfoStruct::shellList, and shells.
Referenced by init().
ShellTree::ShellTree | ( | const BasisInfoStruct & | bis_, |
const real * | rShells, | ||
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, getOverlappingWith(), larger, maxRadius, ownShells, shells, and smaller.
Referenced by ErgoMolInfo::getBlocks(), and getOverlappingWith().
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().
|
private |
Referenced by getOverlappingWith(), and init().
|
private |
Referenced by getOverlappingWith(), and init().
|
private |
Referenced by getOverlappingWith(), init(), and ~ShellTree().
|
private |
upper limit of ownShell radius.
Referenced by getOverlappingWith(), and init().
|
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(), and ShellTree().
|
private |
Referenced by getOverlappingWith(), init(), and ~ShellTree().