Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

QuadTreeNM.h
Go to the documentation of this file.
1 
32 #pragma once
33 
35 
36 namespace ogdf {
37 namespace energybased {
38 namespace fmmm {
39 
42 class QuadTreeNM {
43 public:
45  QuadTreeNM();
46 
48  void delete_tree(QuadTreeNodeNM* node_ptr);
49 
51  void delete_tree_and_count_nodes(QuadTreeNodeNM* node_ptr, int& nodecounter);
52 
55  void cout_preorder(QuadTreeNodeNM* node_ptr);
56  void cout_preorder(QuadTreeNodeNM* node_ptr, int precision);
57 
59  void init_tree() {
60  root_ptr = new QuadTreeNodeNM();
61  act_ptr = root_ptr;
62  }
63 
66 
68  void go_to_father() {
69  if (act_ptr->get_father_ptr() != nullptr) {
71  } else {
72  std::cout << "Error QuadTreeNM: No father Node exists";
73  }
74  }
75 
78 
81 
84 
87 
90  void create_new_lt_child();
91 
94  void create_new_rt_child();
95 
98  void create_new_lb_child();
99 
102  void create_new_rb_child();
103 
105  QuadTreeNodeNM* get_act_ptr() const { return act_ptr; }
106 
107  QuadTreeNodeNM* get_root_ptr() const { return root_ptr; }
108 
110  void set_root_ptr(QuadTreeNodeNM* r_ptr) { root_ptr = r_ptr; }
111 
113  void set_act_ptr(QuadTreeNodeNM* a_ptr) { act_ptr = a_ptr; }
114 
117 
118 private:
121 };
122 
123 }
124 }
125 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::energybased::fmmm::QuadTreeNM::act_ptr
QuadTreeNodeNM * act_ptr
points to the actual node
Definition: QuadTreeNM.h:120
ogdf::energybased::fmmm::QuadTreeNodeNM::get_father_ptr
QuadTreeNodeNM * get_father_ptr() const
Definition: QuadTreeNodeNM.h:167
ogdf::energybased::fmmm::QuadTreeNM::create_new_rb_child
void create_new_rb_child()
ogdf::energybased::fmmm::QuadTreeNM::create_new_lb_child
void create_new_lb_child()
ogdf::energybased::fmmm::QuadTreeNodeNM::get_child_rt_ptr
QuadTreeNodeNM * get_child_rt_ptr() const
Definition: QuadTreeNodeNM.h:171
ogdf::energybased::fmmm::QuadTreeNM::go_to_lt_child
void go_to_lt_child()
Sets act_ptr to the left_top_child_ptr.
Definition: QuadTreeNM.h:77
ogdf::energybased::fmmm::QuadTreeNM::cout_preorder
void cout_preorder(QuadTreeNodeNM *node_ptr)
Pre_order traversal of the tree rooted at node_ptr (with or without output of the M,...
ogdf::energybased::fmmm::QuadTreeNM::delete_tree
void delete_tree(QuadTreeNodeNM *node_ptr)
Deletes the tree starting at node_ptr.
ogdf::energybased::fmmm::QuadTreeNM::start_at_root
void start_at_root()
Sets act_ptr to the root_ptr.
Definition: QuadTreeNM.h:65
ogdf::energybased::fmmm::QuadTreeNM::QuadTreeNM
QuadTreeNM()
Constructor.
ogdf::energybased::fmmm::QuadTreeNM::go_to_father
void go_to_father()
Sets act_ptr to the father_ptr.
Definition: QuadTreeNM.h:68
r
int r[]
Definition: hierarchical-ranking.cpp:8
ogdf::energybased::fmmm::QuadTreeNM
Helping data structure that stores the information needed to represent the modified quadtree in the N...
Definition: QuadTreeNM.h:42
ogdf::energybased::fmmm::QuadTreeNM::create_new_lt_child
void create_new_lt_child()
ogdf::energybased::fmmm::QuadTreeNM::set_act_ptr
void set_act_ptr(QuadTreeNodeNM *a_ptr)
Sets act_ptr to a_ptr.
Definition: QuadTreeNM.h:113
ogdf::energybased::fmmm::QuadTreeNM::init_tree
void init_tree()
Creates the root node and lets act_ptr and root_ptr point to the root node.
Definition: QuadTreeNM.h:59
ogdf::energybased::fmmm::QuadTreeNM::root_ptr
QuadTreeNodeNM * root_ptr
points to the root node
Definition: QuadTreeNM.h:119
ogdf::energybased::fmmm::QuadTreeNM::delete_tree_and_count_nodes
void delete_tree_and_count_nodes(QuadTreeNodeNM *node_ptr, int &nodecounter)
Deletes the tree starting at node_ptr and counts the nodes of the subtree.
ogdf::energybased::fmmm::QuadTreeNM::go_to_rb_child
void go_to_rb_child()
Sets act_ptr to the right_bottom_child_ptr.
Definition: QuadTreeNM.h:86
QuadTreeNodeNM.h
Declaration of class QuadTreeNodeNM.
ogdf::List
Doubly linked lists (maintaining the length of the list).
Definition: List.h:42
ogdf::energybased::fmmm::QuadTreeNodeNM
Helping data structure that stores the information needed to represent a node of the reduced quad tre...
Definition: QuadTreeNodeNM.h:47
ogdf::energybased::fmmm::QuadTreeNodeNM::get_child_lt_ptr
QuadTreeNodeNM * get_child_lt_ptr() const
Definition: QuadTreeNodeNM.h:169
ogdf::energybased::fmmm::QuadTreeNM::go_to_lb_child
void go_to_lb_child()
Sets act_ptr to the left_bottom_child_ptr.
Definition: QuadTreeNM.h:83
ogdf::energybased::fmmm::QuadTreeNM::set_root_node
void set_root_node(QuadTreeNodeNM &r)
Sets the content of *root_ptr to r.
Definition: QuadTreeNM.h:116
ogdf::energybased::fmmm::QuadTreeNodeNM::get_child_lb_ptr
QuadTreeNodeNM * get_child_lb_ptr() const
Definition: QuadTreeNodeNM.h:173
ogdf::energybased::fmmm::QuadTreeNM::get_act_ptr
QuadTreeNodeNM * get_act_ptr() const
Returns the actual/root node pointer of the tree.
Definition: QuadTreeNM.h:105
ogdf::energybased::fmmm::QuadTreeNM::set_root_ptr
void set_root_ptr(QuadTreeNodeNM *r_ptr)
Sets root_ptr to r_ptr.
Definition: QuadTreeNM.h:110
ogdf::energybased::fmmm::QuadTreeNM::get_root_ptr
QuadTreeNodeNM * get_root_ptr() const
Definition: QuadTreeNM.h:107
ogdf::energybased::fmmm::QuadTreeNodeNM::get_child_rb_ptr
QuadTreeNodeNM * get_child_rb_ptr() const
Definition: QuadTreeNodeNM.h:175
ogdf::energybased::fmmm::QuadTreeNM::create_new_rt_child
void create_new_rt_child()
ogdf::energybased::fmmm::QuadTreeNM::go_to_rt_child
void go_to_rt_child()
Sets act_ptr to the right_top_child_ptr.
Definition: QuadTreeNM.h:80