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. | |
![]() | |
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] |
![]() | |
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 | |
![]() | |
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.