Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
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.
 
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
 
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
 
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
 
for the multilevel step
int mass
 the mass (= number of previously collapsed nodes) of this node
 
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)
 
node dedicated_sun_node
 the dedicates s_node of the solar system of this node
 
double dedicated_sun_distance
 the distance to the dedicated sun node of the galaxy of this node
 
node dedicated_pm_node
 if type == 4 the dedicated_pm_node is saved here
 
List< doublelambda
 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
 
List< nodeneighbour_s_node
 this is the list of the neighbour solar systems suns lambda[i] corresponds to neighbour_s_node[i]
 
List< double > * lambda_List_ptr
 a pointer to the lambda list
 
List< node > * neighbour_s_node_List_ptr
 a pointer to to the neighbour_s_node list
 
List< nodemoon_List
 the list of all dedicated moon nodes (!= nil if type == 3)
 
List< node > * moon_List_ptr
 a pointer to the moon_List
 
bool placed
 indicates weather an initial position has been assigned to this node or not
 
double angle_1
 describes the sector where nodes that are not adjacent to other
 
double angle_2
 solar systems have to be placed
 

Friends

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

Detailed Description

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

Definition at line 44 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 144 of file NodeAttributes.h.

◆ get_angle_2()

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

Definition at line 146 of file NodeAttributes.h.

◆ get_copy_node()

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

Definition at line 92 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 152 of file NodeAttributes.h.

◆ get_dedicated_pm_node()

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

Definition at line 140 of file NodeAttributes.h.

◆ get_dedicated_sun_distance()

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

Definition at line 138 of file NodeAttributes.h.

◆ get_dedicated_sun_node()

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

Definition at line 136 of file NodeAttributes.h.

◆ get_height()

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

Definition at line 81 of file NodeAttributes.h.

◆ get_higher_level_node()

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

Definition at line 112 of file NodeAttributes.h.

◆ get_lambda_List_ptr()

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

Definition at line 148 of file NodeAttributes.h.

◆ get_lower_level_node()

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

Definition at line 110 of file NodeAttributes.h.

◆ get_mass()

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

Definition at line 132 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 150 of file NodeAttributes.h.

◆ get_original_node()

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

Definition at line 90 of file NodeAttributes.h.

◆ get_position()

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

Definition at line 73 of file NodeAttributes.h.

◆ get_subgraph_node()

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

Definition at line 100 of file NodeAttributes.h.

◆ get_type()

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

Definition at line 134 of file NodeAttributes.h.

◆ get_width()

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

Definition at line 79 of file NodeAttributes.h.

◆ get_x()

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

Definition at line 75 of file NodeAttributes.h.

◆ get_y()

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

Definition at line 77 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 142 of file NodeAttributes.h.

◆ place()

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

Definition at line 124 of file NodeAttributes.h.

◆ set_angle_1()

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

Definition at line 126 of file NodeAttributes.h.

◆ set_angle_2()

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

Definition at line 128 of file NodeAttributes.h.

◆ set_copy_node()

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

Definition at line 88 of file NodeAttributes.h.

◆ set_dedicated_pm_node()

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

Definition at line 122 of file NodeAttributes.h.

◆ set_dedicated_sun_distance()

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

Definition at line 120 of file NodeAttributes.h.

◆ set_dedicated_sun_node()

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

Definition at line 118 of file NodeAttributes.h.

◆ set_height()

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

Definition at line 67 of file NodeAttributes.h.

◆ set_higher_level_node()

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

Definition at line 108 of file NodeAttributes.h.

◆ set_lower_level_node()

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

Definition at line 106 of file NodeAttributes.h.

◆ set_mass()

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

Definition at line 114 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 55 of file NodeAttributes.h.

◆ set_original_node()

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

Definition at line 86 of file NodeAttributes.h.

◆ set_position()

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

Definition at line 63 of file NodeAttributes.h.

◆ set_subgraph_node()

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

Definition at line 98 of file NodeAttributes.h.

◆ set_type()

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

Definition at line 116 of file NodeAttributes.h.

◆ set_width()

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

Definition at line 65 of file NodeAttributes.h.

◆ set_x()

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

Definition at line 69 of file NodeAttributes.h.

◆ set_y()

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

Definition at line 71 of file NodeAttributes.h.

Friends And Related Symbol 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 193 of file NodeAttributes.h.

◆ angle_2

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

solar systems have to be placed

Definition at line 194 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 181 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 179 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 178 of file NodeAttributes.h.

◆ height

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

Definition at line 160 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 182 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 187 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 175 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 189 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 190 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 185 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 188 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 191 of file NodeAttributes.h.

◆ position

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

Definition at line 158 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 176 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 166 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 165 of file NodeAttributes.h.

◆ width

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

Definition at line 159 of file NodeAttributes.h.


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