X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ijackson/git?a=blobdiff_plain;f=layout%2Fgraph-data.h;h=bd44975b02c41bd5061cb41eccaefded6620852d;hb=8ea6aa74d86a71b7d53a5ddfd9cb956a5a0d96ac;hp=6ecbcadca7abdf5c7c08ced52c87535e8d984d43;hpb=d2634ca20935e39ec619196b49a1a49c612e8cd0;p=trains.git diff --git a/layout/graph-data.h b/layout/graph-data.h index 6ecbcad..bd44975 100644 --- a/layout/graph-data.h +++ b/layout/graph-data.h @@ -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*/