void create_ps_skeleton(DDSkeleton *sk){ DDSEdgeVect edges = sk->getEdges(); DDSEdgeVect::iterator I; std::cout << "%!PS-Adobe-2.0\n/Arial-Normal findfont\n"; std::cout << "7 scalefont\nsetfont\n"; std::cout << "75 setlinewidth\n"; // draw the edges for(I = edges.begin(); I != edges.end(); I++){ DDSEdge *e = *I; FluxPointList fpl = e->getFluxPoints(); FluxPointList::iterator II; for(II = fpl.begin(); II != (fpl.end() - 1); II++){ Point p1 = (*II).p; Point p2 = (*(II+1)).p; ps_draw_line(p1, p2, fabs((*II).val) / 7.0, fabs((*II).val) / 7.0); } } // now draw the contour Curve *c = sk->getShape()->getCurves()->front(); const double step = 0.5; double t=0; for(t = 0; t < c->getLength()-2*step; t += step){ ps_draw_line(c->atT(t), c->atT(t+step)); } ps_draw_line(c->atT(t), c->atT(0)); // finally, finish the PS page std::cout << "\nshowpage\n"; }