Crossings Minimization  1.0
sifting.h
Go to the documentation of this file.
1 /**
2  * @file sifting.h
3  * @brief Definition of infrastructure functions that are used to implement
4  * sifting-based heuristics.
5  * @author Matt Stallmann
6  * @date 2009/01/08
7  * $Id: sifting.h 2 2011-06-07 19:50:41Z mfms $
8  */
9 
10 #include<stdbool.h>
11 
12 #ifndef SIFTING_H
13 #define SIFTING_H
14 
15 #include"defs.h"
16 #include"graph.h"
17 
18 /**
19  * @param node This node is placed on its layer in a position that minimizes
20  * the total number of crossings
21  */
22 void sift( Nodeptr node );
23 
24 /**
25  * @param edge An edge that has the current maximum number of crossings; for
26  * convience so that this does not need to be recalculated, it is assumed
27  * that the node is one of its enpoints
28  * @param node This node is placed on its layer in a position that minimizes
29  * the maximum number of crossings for any edge incident on the layer.
30  */
32 
33 /**
34  * @param node This node is placed into a position that minimizes the total
35  * stretch of edges incident on its layer; ties are broken by moving the node
36  * as far away as possible from its initial position
37  */
39 
40 #endif
41 
42 /* [Last modified: 2016 05 19 at 20:15:25 GMT] */
Definitions common to all edge crossing heuristic source files.
Definition of data structures and access functions for a layered graph.
void sift_node_for_edge_crossings(Edgeptr edge, Nodeptr node)
Definition: sifting.c:172
void sift(Nodeptr node)
puts the node in a position that minimizes the number of crossings.
Definition: sifting.c:57
void sift_node_for_total_stretch(Nodeptr node)
Definition: sifting.c:258