Helping data structure that stores the information needed to represent a node of the reduced quad tree in the New Multipole Method (NMM). More...
#include <ogdf/energybased/fmmm/new_multipole_method/QuadTreeNodeNM.h>
Public Member Functions | |
QuadTreeNodeNM () | |
constructor More... | |
~QuadTreeNodeNM () | |
destructor More... | |
bool | child_lb_exists () |
bool | child_lt_exists () |
bool | child_rb_exists () |
bool | child_rt_exists () |
bool | contained_nodes_empty () |
QuadTreeNodeNM * | get_child_lb_ptr () const |
QuadTreeNodeNM * | get_child_lt_ptr () const |
QuadTreeNodeNM * | get_child_rb_ptr () const |
QuadTreeNodeNM * | get_child_rt_ptr () const |
void | get_contained_nodes (List< node > &list) const |
void | get_D1 (List< QuadTreeNodeNM * > &list) const |
void | get_D2 (List< QuadTreeNodeNM * > &list) const |
QuadTreeNodeNM * | get_father_ptr () const |
void | get_I (List< QuadTreeNodeNM * > &list) const |
std::complex< double > * | get_local_exp () const |
void | get_M (List< QuadTreeNodeNM * > &list) const |
std::complex< double > * | get_multipole_exp () const |
int | get_particlenumber_in_subtree () const |
double | get_Sm_boxlength () const |
std::complex< double > | get_Sm_center () const |
DPoint | get_Sm_downleftcorner () const |
int | get_Sm_level () const |
List< ParticleInfo > * | get_x_List_ptr () |
List< ParticleInfo > * | get_y_List_ptr () |
bool | is_leaf () |
bool | is_root () |
node | pop_contained_nodes () |
void | pushBack_contained_nodes (node v) |
void | replace_multipole_exp (Array< std::complex< double > > &multi, int precision) |
ME[i] is set to multi[i] for i = 0 to precision and no space for LE is reserved. More... | |
void | set_child_lb_ptr (QuadTreeNodeNM *c) |
void | set_child_lt_ptr (QuadTreeNodeNM *c) |
void | set_child_rb_ptr (QuadTreeNodeNM *c) |
void | set_child_rt_ptr (QuadTreeNodeNM *c) |
void | set_contained_nodes (List< node > &list) |
void | set_D1 (List< QuadTreeNodeNM * > &list) |
void | set_D2 (List< QuadTreeNodeNM * > &list) |
void | set_father_ptr (QuadTreeNodeNM *f) |
void | set_I (List< QuadTreeNodeNM * > &list) |
void | set_locale_exp (Array< std::complex< double > > &local, int precision) |
LE[i] is set to local[i] for i = 0 to precision and space for LE is reserved. More... | |
void | set_M (List< QuadTreeNodeNM * > &list) |
void | set_multipole_exp (Array< std::complex< double > > &multi, int precision) |
ME[i] is set to multi[i] for i = 0 to precision and space for LE is reserved. More... | |
void | set_particlenumber_in_subtree (int p) |
void | set_Sm_boxlength (double len) |
void | set_Sm_center (std::complex< double > c) |
void | set_Sm_downleftcorner (DPoint dlc) |
void | set_Sm_level (int level) |
void | set_x_List_ptr (List< ParticleInfo > *x_ptr) |
void | set_y_List_ptr (List< ParticleInfo > *y_ptr) |
Private Attributes | |
QuadTreeNodeNM * | child_lb_ptr |
points to left bottom child More... | |
QuadTreeNodeNM * | child_lt_ptr |
points to left top child More... | |
QuadTreeNodeNM * | child_rb_ptr |
points to right bottom child More... | |
QuadTreeNodeNM * | child_rt_ptr |
points to right bottom child More... | |
List< node > | contained_nodes |
list of nodes of G that are contained in this QuadTreeNode (emty if it is not a leave of the ModQuadTree More... | |
List< QuadTreeNodeNM * > | D1 |
List< QuadTreeNodeNM * > | D2 |
list of neighbouring(=D1) and not adjacent(=D2) leaves for direct force calculation in DIM2 More... | |
QuadTreeNodeNM * | father_ptr |
points to the father node More... | |
List< QuadTreeNodeNM * > | I |
the list of min. More... | |
List< ParticleInfo > * | L_x_ptr |
points to the lists that contain each Particle of G with its x(y)coordinate in increasing order More... | |
List< ParticleInfo > * | L_y_ptr |
and a cross reference to the list_item in the list with the other coordinate More... | |
std::complex< double > * | LE |
Locale Expansion terms. More... | |
List< QuadTreeNodeNM * > | M |
list of nodes with multipole force contribution like in DIM2 More... | |
std::complex< double > * | ME |
Multipole Expansion terms. More... | |
double | Sm_boxlength |
length of small cell More... | |
std::complex< double > | Sm_center |
center of the small cell More... | |
DPoint | Sm_downleftcorner |
coords of the down left corner of the small cell More... | |
int | Sm_level |
level of the small cell More... | |
int | subtreeparticlenumber |
the number of particles in the subtree rooted at this node More... | |
Friends | |
std::ostream & | operator<< (std::ostream &, const QuadTreeNodeNM &) |
Outputstream for QuadTreeNodeNM. More... | |
std::istream & | operator>> (std::istream &, QuadTreeNodeNM &) |
Inputstream for QuadTreeNodeNM. More... | |
Helping data structure that stores the information needed to represent a node of the reduced quad tree in the New Multipole Method (NMM).
Definition at line 46 of file QuadTreeNodeNM.h.
ogdf::energybased::fmmm::QuadTreeNodeNM::QuadTreeNodeNM | ( | ) |
constructor
ogdf::energybased::fmmm::QuadTreeNodeNM::~QuadTreeNodeNM | ( | ) |
destructor
|
inline |
Definition at line 112 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 110 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 113 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 111 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 69 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 133 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 131 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 134 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 132 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 124 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 126 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 127 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 130 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 125 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 122 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 128 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 123 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 120 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 117 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 121 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 116 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 115 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 118 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 119 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 109 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 108 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 68 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 67 of file QuadTreeNodeNM.h.
|
inline |
ME[i] is set to multi[i] for i = 0 to precision and no space for LE is reserved.
Definition at line 95 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 105 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 103 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 106 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 104 of file QuadTreeNodeNM.h.
Definition at line 66 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 72 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 73 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 102 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 71 of file QuadTreeNodeNM.h.
|
inline |
LE[i] is set to local[i] for i = 0 to precision and space for LE is reserved.
Definition at line 77 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 74 of file QuadTreeNodeNM.h.
|
inline |
ME[i] is set to multi[i] for i = 0 to precision and space for LE is reserved.
Definition at line 86 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 64 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 61 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 65 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 60 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 59 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 62 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 63 of file QuadTreeNodeNM.h.
|
friend |
Outputstream for QuadTreeNodeNM.
|
friend |
Inputstream for QuadTreeNodeNM.
|
private |
points to left bottom child
Definition at line 161 of file QuadTreeNodeNM.h.
|
private |
points to left top child
Definition at line 159 of file QuadTreeNodeNM.h.
|
private |
points to right bottom child
Definition at line 162 of file QuadTreeNodeNM.h.
|
private |
points to right bottom child
Definition at line 160 of file QuadTreeNodeNM.h.
list of nodes of G that are contained in this QuadTreeNode (emty if it is not a leave of the ModQuadTree
Definition at line 150 of file QuadTreeNodeNM.h.
|
private |
Definition at line 154 of file QuadTreeNodeNM.h.
|
private |
list of neighbouring(=D1) and not adjacent(=D2) leaves for direct force calculation in DIM2
Definition at line 154 of file QuadTreeNodeNM.h.
|
private |
points to the father node
Definition at line 158 of file QuadTreeNodeNM.h.
|
private |
|
private |
points to the lists that contain each Particle of G with its x(y)coordinate in increasing order
Definition at line 141 of file QuadTreeNodeNM.h.
|
private |
and a cross reference to the list_item in the list with the other coordinate
Definition at line 143 of file QuadTreeNodeNM.h.
|
private |
Locale Expansion terms.
Definition at line 149 of file QuadTreeNodeNM.h.
|
private |
list of nodes with multipole force contribution like in DIM2
Definition at line 156 of file QuadTreeNodeNM.h.
|
private |
Multipole Expansion terms.
Definition at line 148 of file QuadTreeNodeNM.h.
|
private |
length of small cell
Definition at line 140 of file QuadTreeNodeNM.h.
|
private |
center of the small cell
Definition at line 147 of file QuadTreeNodeNM.h.
|
private |
coords of the down left corner of the small cell
Definition at line 139 of file QuadTreeNodeNM.h.
|
private |
level of the small cell
Definition at line 138 of file QuadTreeNodeNM.h.
|
private |
the number of particles in the subtree rooted at this node
Definition at line 145 of file QuadTreeNodeNM.h.