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 52 of file QuadTreeNodeNM.h.
ogdf::energybased::fmmm::QuadTreeNodeNM::QuadTreeNodeNM | ( | ) |
constructor
ogdf::energybased::fmmm::QuadTreeNodeNM::~QuadTreeNodeNM | ( | ) |
destructor
|
inline |
Definition at line 140 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 136 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 142 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 138 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 83 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 178 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 174 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 180 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 176 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 162 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 166 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 168 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 172 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 164 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 158 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 170 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 160 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 154 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 148 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 156 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 146 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 144 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 150 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 152 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 131 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 129 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 81 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 79 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 112 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 125 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 121 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 127 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 123 of file QuadTreeNodeNM.h.
Definition at line 77 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 87 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 89 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 119 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 85 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 94 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 91 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 103 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 73 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 67 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 75 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 65 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 63 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 69 of file QuadTreeNodeNM.h.
|
inline |
Definition at line 71 of file QuadTreeNodeNM.h.
|
friend |
Outputstream for QuadTreeNodeNM.
|
friend |
Inputstream for QuadTreeNodeNM.
|
private |
points to left bottom child
Definition at line 206 of file QuadTreeNodeNM.h.
|
private |
points to left top child
Definition at line 204 of file QuadTreeNodeNM.h.
|
private |
points to right bottom child
Definition at line 207 of file QuadTreeNodeNM.h.
|
private |
points to right bottom child
Definition at line 205 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 195 of file QuadTreeNodeNM.h.
|
private |
Definition at line 199 of file QuadTreeNodeNM.h.
|
private |
list of neighbouring(=D1) and not adjacent(=D2) leaves for direct force calculation in DIM2
Definition at line 199 of file QuadTreeNodeNM.h.
|
private |
points to the father node
Definition at line 203 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 186 of file QuadTreeNodeNM.h.
|
private |
and a cross reference to the list_item in the list with the other coordinate
Definition at line 188 of file QuadTreeNodeNM.h.
|
private |
Locale Expansion terms.
Definition at line 194 of file QuadTreeNodeNM.h.
|
private |
list of nodes with multipole force contribution like in DIM2
Definition at line 201 of file QuadTreeNodeNM.h.
|
private |
Multipole Expansion terms.
Definition at line 193 of file QuadTreeNodeNM.h.
|
private |
length of small cell
Definition at line 185 of file QuadTreeNodeNM.h.
|
private |
center of the small cell
Definition at line 192 of file QuadTreeNodeNM.h.
|
private |
coords of the down left corner of the small cell
Definition at line 184 of file QuadTreeNodeNM.h.
|
private |
level of the small cell
Definition at line 183 of file QuadTreeNodeNM.h.
|
private |
the number of particles in the subtree rooted at this node
Definition at line 190 of file QuadTreeNodeNM.h.