output("end\n");
}
+static void printforlayoutsegjoins(void) {
+ Node *node;
+ EdgeEnd *edgeend;
+ Segment **segmentp, *segment;
+ int side;
+
+ FOR_ALL_NODES(node) {
+ output("layer ");
+ FOR_BOTH(side)
+ if (!node->sides[side].head) {
+ output("segterminus");
+ goto one_sided;
+ }
+ output("segjoin");
+ one_sided:
+ output("%d\n", (node->layermin + node->layermax)/2);
+
+ output("abs segjoin_%s",node->pname);
+ FOR_NODE_EDGEENDS(side,edgeend, node)
+ output("_%s",edgeend->edge->subseg->segment->segname);
+ output(" %f %f %f\n", node->x,node->y,node->a);
+ FOR_ALL_SEGMENTS(segmentp,segment) segment->u= 0;
+ FOR_NODE_EDGEENDS(side,edgeend, node) {
+ segment= edgeend->edge->subseg->segment;
+ if (segment->u++) continue;
+ output("segend %s\n",segment->segname);
+ output("segcmap %s 0.5 setgray\n",segment->segname);
+ }
+ output("\n");
+ }
+}
+
/*---------- main program ----------*/
typedef struct {
#define OI(x) { #x, x },
OI(printforneato)
OI(printforforsafety)
+ OI(printforlayoutsegjoins)
OI(consistency)
OI(movfeatsplitedges)
OI(movfeatrmstubs)