ExaFMM 1
Fast-multipole Method for exascale systems
Classes | Public Member Functions | Private Member Functions | Private Attributes
TopDown< equation > Class Template Reference

Topdown tree constructor class. More...

#include <topdown.h>

Inheritance diagram for TopDown< equation >:
Inheritance graph
[legend]
Collaboration diagram for TopDown< equation >:
Collaboration graph
[legend]

List of all members.

Classes

struct  Node
 < Radius of root cell More...

Public Member Functions

 TopDown ()
 Constructor.
 ~TopDown ()
 Destructor.
void grow (Bodies &bodies)
 Grow tree from root.
void setIndex ()
 Store cell index of all bodies.

Private Member Functions

int getOctant (const vect X, int i)
 Calculate octant from position.
void addChild (const int octant, int i)
 Add child node and link it.
void addLeaf (B_iter b, int i)
 Add leaf to node.
void splitNode (int i)
 Split node and reassign leafs to child nodes.
void traverse (typename std::vector< Node >::iterator N)
 Traverse tree.

Private Attributes

std::vector< Nodenodes
 Nodes in the tree.

Detailed Description

template<Equation equation>
class TopDown< equation >

Topdown tree constructor class.

Definition at line 28 of file topdown.h.


Constructor & Destructor Documentation

template<Equation equation>
TopDown< equation >::TopDown ( ) [inline]

Constructor.

Definition at line 117 of file topdown.h.

template<Equation equation>
TopDown< equation >::~TopDown ( ) [inline]

Destructor.

Definition at line 119 of file topdown.h.


Member Function Documentation

template<Equation equation>
void TopDown< equation >::addChild ( const int  octant,
int  i 
) [inline, private]

Add child node and link it.

Definition at line 60 of file topdown.h.

Here is the caller graph for this function:

template<Equation equation>
void TopDown< equation >::addLeaf ( B_iter  b,
int  i 
) [inline, private]

Add leaf to node.

Definition at line 80 of file topdown.h.

Here is the caller graph for this function:

template<Equation equation>
int TopDown< equation >::getOctant ( const vect  X,
int  i 
) [inline, private]

Calculate octant from position.

Definition at line 51 of file topdown.h.

Here is the caller graph for this function:

template<Equation equation>
void TopDown< equation >::grow ( Bodies bodies) [inline]

Grow tree from root.

Definition at line 122 of file topdown.h.

Here is the call graph for this function:

template<Equation equation>
void TopDown< equation >::setIndex ( ) [inline]

Store cell index of all bodies.

Definition at line 149 of file topdown.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<Equation equation>
void TopDown< equation >::splitNode ( int  i) [inline, private]

Split node and reassign leafs to child nodes.

Definition at line 86 of file topdown.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<Equation equation>
void TopDown< equation >::traverse ( typename std::vector< Node >::iterator  N) [inline, private]

Traverse tree.

Definition at line 101 of file topdown.h.

Here is the caller graph for this function:


Member Data Documentation

template<Equation equation>
std::vector<Node> TopDown< equation >::nodes [private]

Nodes in the tree.

Definition at line 48 of file topdown.h.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines