changa  3.5
 All Classes Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
Tree::OctTreeNode Class Reference

Class for Oct tree where each node has 8 direct children. More...

#include <GenericTreeNode.h>

Inheritance diagram for Tree::OctTreeNode:
Tree::GenericTreeNode

Public Member Functions

 OctTreeNode (NodeKey k, NodeType type, int first, int last, BinaryTreeNode *p)
 
void fullyDelete ()
 Recursively delete all nodes beneath this node.
 
virtual unsigned int numChildren () const
 return the number of children this node has
 
virtual GenericTreeNodegetChildren (int i)
 return the pointers to the specified child of this node
 
virtual 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 whichChild (NodeKey child)
 return an integer with the number of the child reflecting the key
 
int getLevel (NodeKey k)
 depth of node corresponding to NodeKey
 
bool contains (NodeKey node)
 Is nodekey contained by this node.
 
void makeOctChildren (GravityParticle *part, int totalPart, int level, NodePool *pool=NULL)
 construct the children of the "this" node following the given logical criteria (Oct/Orb)
 
void makeOrbChildren (GravityParticle *part, int totalPart, int level, int rootsLevel, bool(*compFnPtr[])(GravityParticle, GravityParticle), bool spatial, NodePool *pool=NULL)
 
GenericTreeNodeclone () const
 make a copy of the node
 
void getChunks (int num, NodeKey *&ret)
 
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. More...
 
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
 
virtual NodeKey getLongestCommonPrefix (NodeKey k1, NodeKey k2)
 return the NodeKey of the lowest common ancestor.
 

Public Attributes

OctTreeNodechildren [8]
 the 8 different children
 
- Public Attributes inherited from Tree::GenericTreeNode
MultipoleMoments moments
 The moments for the gravity computation.
 
GenericTreeNodeparent
 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)
 
GravityParticleparticlePointer
 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
 

Detailed Description

Class for Oct tree where each node has 8 direct children.

Member Function Documentation

void Tree::OctTreeNode::getChunks ( int  num,
NodeKey *&  ret 
)
inlinevirtual

get the top nodes corresponding to a particular number of chunks requested

Implements Tree::GenericTreeNode.


The documentation for this class was generated from the following file: