|
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 BasisInfoStruct::noOfShells, BasisInfoStruct::shellList, ShellSpecStruct_::centerCoords, getBoundingBox(), shells, and init().
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 dividingDimension, dividingValue, smaller, maxRadius, getOverlappingWith(), larger, ownShells, distance(), and shells.
Referenced by getOverlappingWith(), and ErgoMolInfo::getBlocks().
| void ShellTree::init | ( | const BasisInfoStruct & | bis_, |
| const real * | rShells_, | ||
| const std::list< int > & | activeShells, | ||
| const Box & | bb | ||
| ) |
References Box::lo, Box::hi, dividingDimension, Box::getMaxDim(), dividingValue, ownShells, maxRadius, shells, smaller, ShellTree(), and larger.
Referenced by ShellTree().
int ShellTree::dividingDimension [private] |
Referenced by init(), and getOverlappingWith().
ergo_real ShellTree::dividingValue [private] |
Referenced by init(), and getOverlappingWith().
ShellTree* ShellTree::larger [private] |
Referenced by ~ShellTree(), init(), and getOverlappingWith().
ergo_real ShellTree::maxRadius [private] |
upper limit of ownShell radius.
Referenced by init(), and getOverlappingWith().
std::map<int,ergo_real> ShellTree::ownShells [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 init(), and getOverlappingWith().
const ShellSpecStruct* ShellTree::shells [private] |
Referenced by ShellTree(), init(), and getOverlappingWith().
ShellTree* ShellTree::smaller [private] |
Referenced by ~ShellTree(), init(), and getOverlappingWith().