summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/asymptote/plain_arrows.asy
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-04-27 22:55:27 +0000
committerKarl Berry <karl@freefriends.org>2014-04-27 22:55:27 +0000
commit1e68ac74cb516c2688e64cdc6a15480551b2f80d (patch)
tree1e78d3810e87dec71e5cb9ad08da71f1db7768f4 /Master/texmf-dist/asymptote/plain_arrows.asy
parent55e45a0d588de0392d2198753e45d75cd58f9e4d (diff)
asymptote 2.25
git-svn-id: svn://tug.org/texlive/trunk@33704 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/asymptote/plain_arrows.asy')
-rw-r--r--Master/texmf-dist/asymptote/plain_arrows.asy14
1 files changed, 7 insertions, 7 deletions
diff --git a/Master/texmf-dist/asymptote/plain_arrows.asy b/Master/texmf-dist/asymptote/plain_arrows.asy
index 3ae60938ed1..d4220103ce0 100644
--- a/Master/texmf-dist/asymptote/plain_arrows.asy
+++ b/Master/texmf-dist/asymptote/plain_arrows.asy
@@ -36,12 +36,12 @@ struct arrowhead
filltype defaultfilltype(pen) {return FillDraw;}
}
-real[] arrowbasepoints(path base, path left, path right)
+real[] arrowbasepoints(path base, path left, path right, real default=0)
{
real[][] Tl=transpose(intersections(left,base));
real[][] Tr=transpose(intersections(right,base));
- return new real[] {Tl.length > 0 ? Tl[0][0] : 0,
- Tr.length > 0 ? Tr[0][0] : 0};
+ return new real[] {Tl.length > 0 ? Tl[0][0] : default,
+ Tr.length > 0 ? Tr[0][0] : default};
}
path arrowbase(path r, pair y, real t, real size)
@@ -87,12 +87,12 @@ SimpleHead.head=new path(path g, position position=EndPoint, pen p=currentpen,
path base=arrowbase(r,y,t,size);
path left=rotate(-angle,x)*r;
path right=rotate(angle,x)*r;
- real[] T=arrowbasepoints(base,left,right);
+ real[] T=arrowbasepoints(base,left,right,1);
pair denom=point(right,T[1])-y;
real factor=denom != 0 ? length((point(left,T[0])-y)/denom) : 1;
path left=rotate(-angle*factor,x)*r;
path right=rotate(angle*factor,x)*r;
- real[] T=arrowbasepoints(base,left,right);
+ real[] T=arrowbasepoints(base,left,right,1);
return subpath(left,T[0],0)--subpath(right,0,T[1]);
};
@@ -114,12 +114,12 @@ arrowhead HookHead(real dir=arrowdir, real barb=arrowbarb)
path base=arrowbase(r,y,t,size);
path left=rotate(-angle,x)*r;
path right=rotate(angle,x)*r;
- real[] T=arrowbasepoints(base,left,right);
+ real[] T=arrowbasepoints(base,left,right,1);
pair denom=point(right,T[1])-y;
real factor=denom != 0 ? length((point(left,T[0])-y)/denom) : 1;
path left=rotate(-angle*factor,x)*r;
path right=rotate(angle*factor,x)*r;
- real[] T=arrowbasepoints(base,left,right);
+ real[] T=arrowbasepoints(base,left,right,1);
left=subpath(left,0,T[0]);
right=subpath(right,T[1],0);
pair pl0=point(left,0), pl1=relpoint(left,1);