Crossings Minimization  1.0
barycenter.h File Reference

interface for various functions related to barycenter heuristics More...

#include "defs.h"
Include dependency graph for barycenter.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void barycenterWeights (int layer, Orientation orientation)
 
bool barycenterUpSweep (int starting_layer)
 
bool barycenterDownSweep (int starting_layer)
 

Detailed Description

interface for various functions related to barycenter heuristics

Author
Matthias Stallmann
Date
2008/12/29
Id
barycenter.h 12 2011-06-17 22:00:01Z mfms

Definition in file barycenter.h.

Function Documentation

◆ barycenterDownSweep()

bool barycenterDownSweep ( int  starting_layer)

Repeats barycenter heuristic moving downward from the starting layer to the bottom layer, layer 0. Orientation of each heuristic application is upward.

Returns
true if max iterations was reached in the process

Repeats barycenter heuristic moving downward from the starting layer to the bottom layer, layer 0. Orientation of each heuristic application is upward.

Definition at line 260 of file barycenter.c.

References barycenterWeights(), end_of_iteration(), layerSort(), tracePrint(), updateCrossingsForLayer(), and UPWARD.

Referenced by barycenter(), modifiedBarycenter(), and printCrossings().

Here is the call graph for this function:

◆ barycenterUpSweep()

bool barycenterUpSweep ( int  starting_layer)

Repeats barycenter heuristic moving upward from the starting layer to the uppermost layer. Orientation of each heuristic application is downward.

Returns
true if max iterations was reached in the process

Definition at line 239 of file barycenter.c.

References barycenterWeights(), DOWNWARD, end_of_iteration(), layerSort(), number_of_layers, tracePrint(), and updateCrossingsForLayer().

Referenced by barycenter(), modifiedBarycenter(), and printCrossings().

Here is the call graph for this function:

◆ barycenterWeights()

void barycenterWeights ( int  layer,
Orientation  orientation 
)

Assigns weights to nodes on the given layer based on positions of their edges above, below, or both, as specified by the orientation.

Definition at line 206 of file barycenter.c.

References adjust_weights, adjust_weights_avg(), adjust_weights_left(), AVG, balanced_node_weight(), balanced_weight, BOTH, layers, LEFT, node_weight(), layer_struct::nodes, and layer_struct::number_of_nodes.

Referenced by barycenterDownSweep(), barycenterUpSweep(), evenOddBarycenter(), modifiedBarycenter(), rotatingBarycenter(), slab_bary_iteration(), staticBarycenter(), and upDownBarycenter().

Here is the call graph for this function: