|
changa 3.5
|
A TreeNode with two children. More...
#include <GenericTreeNode.h>
Public Member Functions | |
| BinaryTreeNode (NodeKey k, NodeType type, int first, int nextlast, BinaryTreeNode *p) | |
| void | fullyDelete () |
| Recursively delete all nodes beneath this node. | |
| unsigned int | numChildren () const |
| return the number of children this node has | |
| GenericTreeNode * | getChildren (int i) |
| return the pointers to the specified child of this node | |
| void | setChildren (int i, GenericTreeNode *node) |
| set the specified child of this node to the passed pointer | |
| NodeKey | getChildKey (int i) |
| return the keys for the specified child | |
| NodeKey | getParentKey () |
| return the key for the parent | |
| int | getLevel (NodeKey k) |
| depth of node corresponding to NodeKey | |
| NodeKey | getLongestCommonPrefix (NodeKey k1, NodeKey k2) |
| return the NodeKey of the lowest common ancestor. | |
| int | whichChild (NodeKey child) |
| return an integer with the number of the child reflecting the key | |
| bool | contains (NodeKey node) |
| Is nodekey contained by this node. | |
| bool | isLeftChild () const |
| bool | isRightChild () const |
| BinaryTreeNode * | getSibling () const |
| void | makeOctChildren (GravityParticle *part, int totalPart, int level, NodePool *pool=NULL) |
| void | makeOrbChildren (GravityParticle *part, int totalPart, int level, int rootsLevel, bool(*compFnPtr[])(GravityParticle, GravityParticle), bool spatial, NodePool *pool=NULL) |
| GenericTreeNode * | clone () const |
| make a copy of the node | |
| void | getChunks (int num, NodeKey *&ret) |
| Get a number of top level NodeKeys which together make a complete tree. | |
| int | countDepth (int depth) |
| int | packNodes (BinaryTreeNode *buffer, int depth, int extraSpace=0) |
| void | unpackNodes () |
| void | pup (PUP::er &p) |
| PUP just this node. | |
| void | pup (PUP::er &p, int depth) |
| PUP node and children down to depth. | |
Public Member Functions inherited from Tree::GenericTreeNode | |
| GenericTreeNode (NodeKey k, NodeType type, int first, int last, GenericTreeNode *p) | |
| Construct GenericTreeNode. | |
| NodeType | getType () const |
| return Tree::NodeType of node | |
| void | setType (NodeType t) |
| set Tree::NodeType of node | |
| NodeKey | getKey () const |
| return unique Tree::NodeKey | |
| bool | isValid () |
| Is the NodeType valid. | |
| bool | isCached () |
| Is this a node in the cache. | |
| bool | isBucket () |
| Is this a node a bucket. | |
| void | makeBucket (GravityParticle *part) |
| transform an internal node into a bucket | |
| void | makeEmpty () |
| initialize an empty node | |
| void | getGraphViz (std::ostream &out) |
| print out a visualization of the tree for diagnostics | |
Public Attributes | |
| BinaryTreeNode * | children [2] |
Public Attributes inherited from Tree::GenericTreeNode | |
| MultipoleMoments | moments |
| The moments for the gravity computation. | |
| GenericTreeNode * | parent |
| The parent of this node, or null if none. | |
| OrientedBox< cosmoType > | boundingBox |
| The axis-aligned bounding box of this node. | |
| OrientedBox< double > | bndBoxBall |
| The bounding box including search balls of this node. | |
| unsigned int | iParticleTypes |
| Mask of particle types contatained in this node. | |
| int64_t | nSPH |
| The number of SPH particles this node contains. | |
| int | firstParticle |
| An index for the first particle contained by this node, 0 means outside the node. | |
| int | lastParticle |
| An index to the last particle contained by this node, myNumParticles+1 means outside the node. | |
| int | remoteIndex |
| unsigned int | particleCount |
| Total number of particles contained (across all chares) | |
| GravityParticle * | particlePointer |
| Pointer to the first particle in this node. | |
| int | rungs |
| int | numBucketsBeneath |
| Number of buckets in this node. | |
| int | startBucket |
| index of first bucket in this node | |
| Vector3D< double > | centerSm |
| center of smoothActive particles during smooth operation | |
| double | sizeSm |
| Radius of bounding sphere of smoothActive particles. | |
| double | fKeyMax |
| Maximum smoothing radius of smoothActive particles. | |
| int | iRank |
| SMP rank of node owner. | |
Additional Inherited Members | |
Protected Attributes inherited from Tree::GenericTreeNode | |
| NodeType | myType |
| NodeKey | key |
A TreeNode with two children.
|
virtual |
make a copy of the node
Implements Tree::GenericTreeNode.
|
inlinevirtual |
Is nodekey contained by this node.
Implements Tree::GenericTreeNode.
|
inlinevirtual |
Recursively delete all nodes beneath this node.
Implements Tree::GenericTreeNode.
|
inlinevirtual |
return the keys for the specified child
Implements Tree::GenericTreeNode.
|
inlinevirtual |
return the pointers to the specified child of this node
Implements Tree::GenericTreeNode.
|
inlinevirtual |
Get a number of top level NodeKeys which together make a complete tree.
| num | Number of NodeKeys to generate |
| ret | Array in which to store generated NodeKeys. |
Implements Tree::GenericTreeNode.
|
inlinevirtual |
depth of node corresponding to NodeKey
Implements Tree::GenericTreeNode.
return the NodeKey of the lowest common ancestor.
Reimplemented from Tree::GenericTreeNode.
|
inlinevirtual |
return the key for the parent
Implements Tree::GenericTreeNode.
|
inlinevirtual |
Equally divide space into two child nodes. The split direction is determined by level. For each child:
Implements Tree::GenericTreeNode.
|
inlinevirtual |
Implements Tree::GenericTreeNode.
|
inlinevirtual |
return the number of children this node has
Implements Tree::GenericTreeNode.
|
inlinevirtual |
PUP just this node.
Reimplemented from Tree::GenericTreeNode.
|
virtual |
PUP node and children down to depth.
Implements Tree::GenericTreeNode.
|
inlinevirtual |
set the specified child of this node to the passed pointer
Implements Tree::GenericTreeNode.
|
inlinevirtual |
return an integer with the number of the child reflecting the key
Implements Tree::GenericTreeNode.