Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::energybased::fmmm::NodeAttributes Class Reference

helping data structure that stores the graphical attributes of a node that are needed for the force-directed algorithms. More...

#include <ogdf/energybased/fmmm/NodeAttributes.h>

Public Member Functions

 NodeAttributes ()
 Constructor. More...
 
double get_angle_1 () const
 
double get_angle_2 () const
 
List< node > * get_dedicated_moon_node_List_ptr ()
 
node get_dedicated_pm_node () const
 
double get_dedicated_sun_distance () const
 
node get_dedicated_sun_node () const
 
double get_height () const
 
List< double > * get_lambda_List_ptr ()
 
int get_mass () const
 
List< node > * get_neighbour_sun_node_List_ptr ()
 
DPoint get_position () const
 
int get_type () const
 
double get_width () const
 
double get_x () const
 
double get_y () const
 
void init_mult_values ()
 initialzes all values needed for multilevel representations More...
 
bool is_placed () const
 
void set_height (double h)
 
void set_NodeAttributes (double w, double h, DPoint pos, node v_low, node v_high)
 
void set_position (DPoint pos)
 
void set_width (double w)
 
void set_x (double x)
 
void set_y (double y)
 
for preprocessing step in FMMM
void set_original_node (node v)
 
void set_copy_node (node v)
 
node get_original_node () const
 
node get_copy_node () const
 
for divide et impera step in FMMM (set/get_original_node() are needed, too)
void set_subgraph_node (node v)
 
node get_subgraph_node () const
 
for the multilevel step in FMMM
void set_lower_level_node (node v)
 
void set_higher_level_node (node v)
 
node get_lower_level_node () const
 
node get_higher_level_node () const
 
void set_mass (int m)
 
void set_type (int t)
 
void set_dedicated_sun_node (node v)
 
void set_dedicated_sun_distance (double d)
 
void set_dedicated_pm_node (node v)
 
void place ()
 
void set_angle_1 (double a)
 
void set_angle_2 (double a)
 

Private Attributes

double height
 
DPoint position
 
double width
 
for the multilevel and divide et impera and preprocessing step
node v_lower_level
 the corresponding node in the lower level graph More...
 
node v_higher_level
 the corresponding node in the higher level graph for divide et impera v_lower_level is the original graph and v_higher_level is the copy of the copy of this node in the maximum connected subraph More...
 
for the multilevel step
int mass
 the mass (= number of previously collapsed nodes) of this node More...
 
int type
 1 = sun node (s_node); 2 = planet node (p_node) without a dedicate moon 3 = planet node with dedicated moons (pm_node);4 = moon node (m_node) More...
 
node dedicated_sun_node
 the dedicates s_node of the solar system of this node More...
 
double dedicated_sun_distance
 the distance to the dedicated sun node of the galaxy of this node More...
 
node dedicated_pm_node
 if type == 4 the dedicated_pm_node is saved here More...
 
List< double > lambda
 the factors lambda for scaling the length of this edge relative to the pass between v's sun and the sun of a neighbour solar system More...
 
List< nodeneighbour_s_node
 this is the list of the neighbour solar systems suns lambda[i] corresponds to neighbour_s_node[i] More...
 
List< double > * lambda_List_ptr
 a pointer to the lambda list More...
 
List< node > * neighbour_s_node_List_ptr
 a pointer to to the neighbour_s_node list More...
 
List< nodemoon_List
 the list of all dedicated moon nodes (!= nil if type == 3) More...
 
List< node > * moon_List_ptr
 a pointer to the moon_List More...
 
bool placed
 indicates weather an initial position has been assigned to this node or not More...
 
double angle_1
 describes the sector where nodes that are not adjacent to other More...
 
double angle_2
 solar systems have to be placed More...
 

Friends

std::ostream & operator<< (std::ostream &, const NodeAttributes &)
 outputstream for NodeAttributes More...
 
std::istream & operator>> (std::istream &, NodeAttributes &)
 inputstream for NodeAttributes More...
 

Detailed Description

helping data structure that stores the graphical attributes of a node that are needed for the force-directed algorithms.

Definition at line 47 of file NodeAttributes.h.

Constructor & Destructor Documentation

◆ NodeAttributes()

ogdf::energybased::fmmm::NodeAttributes::NodeAttributes ( )

Constructor.

Member Function Documentation

◆ get_angle_1()

double ogdf::energybased::fmmm::NodeAttributes::get_angle_1 ( ) const
inline

Definition at line 147 of file NodeAttributes.h.

◆ get_angle_2()

double ogdf::energybased::fmmm::NodeAttributes::get_angle_2 ( ) const
inline

Definition at line 149 of file NodeAttributes.h.

◆ get_copy_node()

node ogdf::energybased::fmmm::NodeAttributes::get_copy_node ( ) const
inline

Definition at line 95 of file NodeAttributes.h.

◆ get_dedicated_moon_node_List_ptr()

List<node>* ogdf::energybased::fmmm::NodeAttributes::get_dedicated_moon_node_List_ptr ( )
inline

Definition at line 155 of file NodeAttributes.h.

◆ get_dedicated_pm_node()

node ogdf::energybased::fmmm::NodeAttributes::get_dedicated_pm_node ( ) const
inline

Definition at line 143 of file NodeAttributes.h.

◆ get_dedicated_sun_distance()

double ogdf::energybased::fmmm::NodeAttributes::get_dedicated_sun_distance ( ) const
inline

Definition at line 141 of file NodeAttributes.h.

◆ get_dedicated_sun_node()

node ogdf::energybased::fmmm::NodeAttributes::get_dedicated_sun_node ( ) const
inline

Definition at line 139 of file NodeAttributes.h.

◆ get_height()

double ogdf::energybased::fmmm::NodeAttributes::get_height ( ) const
inline

Definition at line 84 of file NodeAttributes.h.

◆ get_higher_level_node()

node ogdf::energybased::fmmm::NodeAttributes::get_higher_level_node ( ) const
inline

Definition at line 115 of file NodeAttributes.h.

◆ get_lambda_List_ptr()

List<double>* ogdf::energybased::fmmm::NodeAttributes::get_lambda_List_ptr ( )
inline

Definition at line 151 of file NodeAttributes.h.

◆ get_lower_level_node()

node ogdf::energybased::fmmm::NodeAttributes::get_lower_level_node ( ) const
inline

Definition at line 113 of file NodeAttributes.h.

◆ get_mass()

int ogdf::energybased::fmmm::NodeAttributes::get_mass ( ) const
inline

Definition at line 135 of file NodeAttributes.h.

◆ get_neighbour_sun_node_List_ptr()

List<node>* ogdf::energybased::fmmm::NodeAttributes::get_neighbour_sun_node_List_ptr ( )
inline

Definition at line 153 of file NodeAttributes.h.

◆ get_original_node()

node ogdf::energybased::fmmm::NodeAttributes::get_original_node ( ) const
inline

Definition at line 93 of file NodeAttributes.h.

◆ get_position()

DPoint ogdf::energybased::fmmm::NodeAttributes::get_position ( ) const
inline

Definition at line 76 of file NodeAttributes.h.

◆ get_subgraph_node()

node ogdf::energybased::fmmm::NodeAttributes::get_subgraph_node ( ) const
inline

Definition at line 103 of file NodeAttributes.h.

◆ get_type()

int ogdf::energybased::fmmm::NodeAttributes::get_type ( ) const
inline

Definition at line 137 of file NodeAttributes.h.

◆ get_width()

double ogdf::energybased::fmmm::NodeAttributes::get_width ( ) const
inline

Definition at line 82 of file NodeAttributes.h.

◆ get_x()

double ogdf::energybased::fmmm::NodeAttributes::get_x ( ) const
inline

Definition at line 78 of file NodeAttributes.h.

◆ get_y()

double ogdf::energybased::fmmm::NodeAttributes::get_y ( ) const
inline

Definition at line 80 of file NodeAttributes.h.

◆ init_mult_values()

void ogdf::energybased::fmmm::NodeAttributes::init_mult_values ( )

initialzes all values needed for multilevel representations

◆ is_placed()

bool ogdf::energybased::fmmm::NodeAttributes::is_placed ( ) const
inline

Definition at line 145 of file NodeAttributes.h.

◆ place()

void ogdf::energybased::fmmm::NodeAttributes::place ( )
inline

Definition at line 127 of file NodeAttributes.h.

◆ set_angle_1()

void ogdf::energybased::fmmm::NodeAttributes::set_angle_1 ( double  a)
inline

Definition at line 129 of file NodeAttributes.h.

◆ set_angle_2()

void ogdf::energybased::fmmm::NodeAttributes::set_angle_2 ( double  a)
inline

Definition at line 131 of file NodeAttributes.h.

◆ set_copy_node()

void ogdf::energybased::fmmm::NodeAttributes::set_copy_node ( node  v)
inline

Definition at line 91 of file NodeAttributes.h.

◆ set_dedicated_pm_node()

void ogdf::energybased::fmmm::NodeAttributes::set_dedicated_pm_node ( node  v)
inline

Definition at line 125 of file NodeAttributes.h.

◆ set_dedicated_sun_distance()

void ogdf::energybased::fmmm::NodeAttributes::set_dedicated_sun_distance ( double  d)
inline

Definition at line 123 of file NodeAttributes.h.

◆ set_dedicated_sun_node()

void ogdf::energybased::fmmm::NodeAttributes::set_dedicated_sun_node ( node  v)
inline

Definition at line 121 of file NodeAttributes.h.

◆ set_height()

void ogdf::energybased::fmmm::NodeAttributes::set_height ( double  h)
inline

Definition at line 70 of file NodeAttributes.h.

◆ set_higher_level_node()

void ogdf::energybased::fmmm::NodeAttributes::set_higher_level_node ( node  v)
inline

Definition at line 111 of file NodeAttributes.h.

◆ set_lower_level_node()

void ogdf::energybased::fmmm::NodeAttributes::set_lower_level_node ( node  v)
inline

Definition at line 109 of file NodeAttributes.h.

◆ set_mass()

void ogdf::energybased::fmmm::NodeAttributes::set_mass ( int  m)
inline

Definition at line 117 of file NodeAttributes.h.

◆ set_NodeAttributes()

void ogdf::energybased::fmmm::NodeAttributes::set_NodeAttributes ( double  w,
double  h,
DPoint  pos,
node  v_low,
node  v_high 
)
inline

Definition at line 58 of file NodeAttributes.h.

◆ set_original_node()

void ogdf::energybased::fmmm::NodeAttributes::set_original_node ( node  v)
inline

Definition at line 89 of file NodeAttributes.h.

◆ set_position()

void ogdf::energybased::fmmm::NodeAttributes::set_position ( DPoint  pos)
inline

Definition at line 66 of file NodeAttributes.h.

◆ set_subgraph_node()

void ogdf::energybased::fmmm::NodeAttributes::set_subgraph_node ( node  v)
inline

Definition at line 101 of file NodeAttributes.h.

◆ set_type()

void ogdf::energybased::fmmm::NodeAttributes::set_type ( int  t)
inline

Definition at line 119 of file NodeAttributes.h.

◆ set_width()

void ogdf::energybased::fmmm::NodeAttributes::set_width ( double  w)
inline

Definition at line 68 of file NodeAttributes.h.

◆ set_x()

void ogdf::energybased::fmmm::NodeAttributes::set_x ( double  x)
inline

Definition at line 72 of file NodeAttributes.h.

◆ set_y()

void ogdf::energybased::fmmm::NodeAttributes::set_y ( double  y)
inline

Definition at line 74 of file NodeAttributes.h.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  ,
const NodeAttributes  
)
friend

outputstream for NodeAttributes

◆ operator>>

std::istream& operator>> ( std::istream &  ,
NodeAttributes  
)
friend

inputstream for NodeAttributes

Member Data Documentation

◆ angle_1

double ogdf::energybased::fmmm::NodeAttributes::angle_1
private

describes the sector where nodes that are not adjacent to other

Definition at line 196 of file NodeAttributes.h.

◆ angle_2

double ogdf::energybased::fmmm::NodeAttributes::angle_2
private

solar systems have to be placed

Definition at line 197 of file NodeAttributes.h.

◆ dedicated_pm_node

node ogdf::energybased::fmmm::NodeAttributes::dedicated_pm_node
private

if type == 4 the dedicated_pm_node is saved here

Definition at line 184 of file NodeAttributes.h.

◆ dedicated_sun_distance

double ogdf::energybased::fmmm::NodeAttributes::dedicated_sun_distance
private

the distance to the dedicated sun node of the galaxy of this node

Definition at line 182 of file NodeAttributes.h.

◆ dedicated_sun_node

node ogdf::energybased::fmmm::NodeAttributes::dedicated_sun_node
private

the dedicates s_node of the solar system of this node

Definition at line 181 of file NodeAttributes.h.

◆ height

double ogdf::energybased::fmmm::NodeAttributes::height
private

Definition at line 163 of file NodeAttributes.h.

◆ lambda

List<double> ogdf::energybased::fmmm::NodeAttributes::lambda
private

the factors lambda for scaling the length of this edge relative to the pass between v's sun and the sun of a neighbour solar system

Definition at line 185 of file NodeAttributes.h.

◆ lambda_List_ptr

List<double>* ogdf::energybased::fmmm::NodeAttributes::lambda_List_ptr
private

a pointer to the lambda list

Definition at line 190 of file NodeAttributes.h.

◆ mass

int ogdf::energybased::fmmm::NodeAttributes::mass
private

the mass (= number of previously collapsed nodes) of this node

Definition at line 178 of file NodeAttributes.h.

◆ moon_List

List<node> ogdf::energybased::fmmm::NodeAttributes::moon_List
private

the list of all dedicated moon nodes (!= nil if type == 3)

Definition at line 192 of file NodeAttributes.h.

◆ moon_List_ptr

List<node>* ogdf::energybased::fmmm::NodeAttributes::moon_List_ptr
private

a pointer to the moon_List

Definition at line 193 of file NodeAttributes.h.

◆ neighbour_s_node

List<node> ogdf::energybased::fmmm::NodeAttributes::neighbour_s_node
private

this is the list of the neighbour solar systems suns lambda[i] corresponds to neighbour_s_node[i]

Definition at line 188 of file NodeAttributes.h.

◆ neighbour_s_node_List_ptr

List<node>* ogdf::energybased::fmmm::NodeAttributes::neighbour_s_node_List_ptr
private

a pointer to to the neighbour_s_node list

Definition at line 191 of file NodeAttributes.h.

◆ placed

bool ogdf::energybased::fmmm::NodeAttributes::placed
private

indicates weather an initial position has been assigned to this node or not

Definition at line 194 of file NodeAttributes.h.

◆ position

DPoint ogdf::energybased::fmmm::NodeAttributes::position
private

Definition at line 161 of file NodeAttributes.h.

◆ type

int ogdf::energybased::fmmm::NodeAttributes::type
private

1 = sun node (s_node); 2 = planet node (p_node) without a dedicate moon 3 = planet node with dedicated moons (pm_node);4 = moon node (m_node)

Definition at line 179 of file NodeAttributes.h.

◆ v_higher_level

node ogdf::energybased::fmmm::NodeAttributes::v_higher_level
private

the corresponding node in the higher level graph for divide et impera v_lower_level is the original graph and v_higher_level is the copy of the copy of this node in the maximum connected subraph

Definition at line 169 of file NodeAttributes.h.

◆ v_lower_level

node ogdf::energybased::fmmm::NodeAttributes::v_lower_level
private

the corresponding node in the lower level graph

Definition at line 168 of file NodeAttributes.h.

◆ width

double ogdf::energybased::fmmm::NodeAttributes::width
private

Definition at line 162 of file NodeAttributes.h.


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