chiark / gitweb /
segment labelling work-in-progress - yet to do are labels and graph colouring
[trains.git] / layout / graph-data.h
index 6ecbcadca7abdf5c7c08ced52c87535e8d984d43..bd44975b02c41bd5061cb41eccaefded6620852d 100644 (file)
@@ -18,6 +18,7 @@ struct Segment {
   int n_movfeats;
   MovFeat *movfeats; /* [0] is fixed */
   MovFeat *starfeature; /* set by movfeatmultedges */
+  int u;
 };
 
 struct MovFeat {
@@ -50,6 +51,8 @@ struct NodeSide {
 struct Node {
   const char *pname;
   Node *back, *next;
+  double x,y,a;
+  int layermin,layermax;
   NodeSide sides[2];
 };
 
@@ -60,6 +63,8 @@ struct NodeList {
 extern NodeList all_nodes;
 extern int next_nodenum, next_edgenum;
 
+extern Segment *all_segments[];
+
 
 #define FOR_ALL_NODES(node) for (node=all_nodes.head; node; node=node->next)
 #define FOR_BOTH(sideend) for (sideend=0; sideend<2; sideend++)
@@ -88,6 +93,10 @@ extern int next_nodenum, next_edgenum;
       if ((edge= edgeend->edge), edgeend->end) {       \
         /* do each edge once, from end 0, only */      \
       } else
-     
+
+#define FOR_ALL_SEGMENTS(segmentp,segment)     \
+  for (segmentp=all_segments;                  \
+       (segment= *segmentp);                   \
+       segmentp++)
 
 #endif /*GRAPH_DATA_H*/