# HG changeset patch # User alpar # Date 1106050989 0 # Node ID d496d1d5a5e748f548e5b85a8ec27320eb7b2ce5 # Parent caa13d29152820c0d2b504b322f7f13073d6d1d7 Correct bad arrow enpoint when parallel edges are enabled. diff -r caa13d291528 -r d496d1d5a5e7 src/lemon/graph_to_eps.h --- a/src/lemon/graph_to_eps.h Tue Jan 18 12:02:27 2005 +0000 +++ b/src/lemon/graph_to_eps.h Tue Jan 18 12:23:09 2005 +0000 @@ -153,6 +153,8 @@ typedef typename Graph::InEdgeIt InEdgeIt; typedef typename Graph::OutEdgeIt OutEdgeIt; + static const int INTERPOL_PREC=20; + bool dontPrint; enum NodeShapes { CIRCLE=0, SQUARE=1 }; @@ -517,21 +519,20 @@ xy mm=m+rot(d)*sw/.75; if(_drawArrows) { int node_shape; - const int INERPOL_PREC=20; xy s=_coords[g.source(*e)]; xy t=_coords[g.target(*e)]; double rn=_nodeSizes[g.target(*e)]*_nodeScale; node_shape=_nodeShapes[g.target(*e)]; Bezier3 bez(s,mm,mm,t); double t1=0,t2=1; - for(int i=0;i apoint=bez((t1+t2)/2); rn = _arrowLength+_edgeWidths[*e]*_edgeWidthScale; rn*=rn; t2=(t1+t2)/2;t1=0; - for(int i=0;irn) t1=(t1+t2)/2; else t2=(t1+t2)/2; xy linend=bez((t1+t2)/2); @@ -539,7 +540,7 @@ // rn=_nodeSizes[g.source(*e)]*_nodeScale; // node_shape=_nodeShapes[g.source(*e)]; // t1=0;t2=1; -// for(int i=0;i d(_coords[g.target(e)]-_coords[g.source(e)]); + double rn=_nodeSizes[g.target(e)]*_nodeScale; + int node_shape=_nodeShapes[g.target(e)]; + double t1=0,t2=1; + for(int i=0;i x1(d*_nodeScale*_nodeSizes[g.source(e)]+ - _coords[g.source(e)]); - os << l-(_nodeSizes[g.source(e)]+ - _nodeSizes[g.target(e)])*_nodeScale << ' ' + + os << l*(1-(t1+t2)/2) << ' ' << _edgeWidths[e]*_edgeWidthScale << ' ' << d.x << ' ' << d.y << ' ' - << x1.x << ' ' << x1.y << ' ' + << _coords[g.source(e)].x << ' ' + << _coords[g.source(e)].y << ' ' << _edgeColors[e].getR() << ' ' << _edgeColors[e].getG() << ' ' << _edgeColors[e].getB() << " arr\n";