diff options
author | Karl Berry <karl@freefriends.org> | 2010-06-14 23:55:19 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-06-14 23:55:19 +0000 |
commit | da1f4b4b53c65c7dc07081018a7f7c2fa991978f (patch) | |
tree | f5fb25e25602c508ab97092d59963a28d9c4efb8 /Master | |
parent | 68651406885f7b6aa9838a395237fd51a127e99f (diff) |
asymptote 1.98
git-svn-id: svn://tug.org/texlive/trunk@18984 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
66 files changed, 286 insertions, 234 deletions
diff --git a/Master/bin/i386-cygwin/asy.exe b/Master/bin/i386-cygwin/asy.exe Binary files differindex c72517c1b55..ec8e0b97035 100755 --- a/Master/bin/i386-cygwin/asy.exe +++ b/Master/bin/i386-cygwin/asy.exe diff --git a/Master/texmf/asymptote/GUI/xasyVersion.py b/Master/texmf/asymptote/GUI/xasyVersion.py index a10e441dc96..549ab3e3b3b 100755 --- a/Master/texmf/asymptote/GUI/xasyVersion.py +++ b/Master/texmf/asymptote/GUI/xasyVersion.py @@ -1,2 +1,2 @@ #!/usr/bin/env python -xasyVersion = "1.96" +xasyVersion = "1.98" diff --git a/Master/texmf/asymptote/asy-keywords.el b/Master/texmf/asymptote/asy-keywords.el index 1328eae5e2c..6ab99004d56 100644 --- a/Master/texmf/asymptote/asy-keywords.el +++ b/Master/texmf/asymptote/asy-keywords.el @@ -2,7 +2,7 @@ ;; This file is automatically generated by asy-list.pl. ;; Changes will be overwritten. ;; -(defvar asy-keywords-version "1.96") +(defvar asy-keywords-version "1.98") (defvar asy-keyword-name '( and controls tension atleast curl if else while for do return break continue struct typedef new access import unravel from include quote static public private restricted this explicit true false null cycle newframe operator )) diff --git a/Master/texmf/asymptote/graph3.asy b/Master/texmf/asymptote/graph3.asy index 9c6529a74dd..ee83e8cb99b 100644 --- a/Master/texmf/asymptote/graph3.asy +++ b/Master/texmf/asymptote/graph3.asy @@ -1877,10 +1877,11 @@ void draw(picture pic=currentpicture, Label[] L=new Label[], void draw(picture pic=currentpicture, Label[] L=new Label[], guide3[][] g, pen p=currentpen, light light=currentlight, - string name="", interaction interaction=LabelInteraction()) + string name="", render render=defaultrender, + interaction interaction=LabelInteraction()) { draw(pic,L,g,sequence(new pen(int) {return p;},g.length),light,name, - interaction); + render,interaction); } real maxlength(triple f(pair z), pair a, pair b, int nu, int nv) @@ -1893,7 +1894,8 @@ picture vectorfield(path3 vector(pair v), triple f(pair z), pair a, pair b, int nu=nmesh, int nv=nu, bool truesize=false, real maxlength=truesize ? 0 : maxlength(f,a,b,nu,nv), bool cond(pair z)=null, pen p=currentpen, - arrowbar3 arrow=Arrow3, margin3 margin=PenMargin3) + arrowbar3 arrow=Arrow3, margin3 margin=PenMargin3, + string name="", render render=defaultrender) { picture pic; real du=1/nu; @@ -1915,21 +1917,24 @@ picture vectorfield(path3 vector(pair v), triple f(pair z), pair a, pair b, scale=max > 0 ? maxlength/max : 1; } else scale=1; + begingroup3(pic,name == "" ? "vectorfield" : name,render); for(int i=0; i <= nu; ++i) { real x=interp(a.x,b.x,i*du); for(int j=0; j <= nv; ++j) { pair z=(x,interp(a.y,b.y,j*dv)); if(all || cond(z)) { path3 g=scale3(scale)*vector(z); + string name="vector"; if(truesize) { picture opic; - draw(opic,g,p,arrow,margin); + draw(opic,g,p,arrow,margin,name,render); add(pic,opic,f(z)); } else - draw(pic,shift(f(z))*g,p,arrow,margin); + draw(pic,shift(f(z))*g,p,arrow,margin,name,render); } } } + endgroup3(pic); return pic; } diff --git a/Master/texmf/asymptote/plain_Label.asy b/Master/texmf/asymptote/plain_Label.asy index 6e6f231375a..4f9d9a20f11 100644 --- a/Master/texmf/asymptote/plain_Label.asy +++ b/Master/texmf/asymptote/plain_Label.asy @@ -297,7 +297,7 @@ struct Label { void label(frame f, transform t=identity(), pair position, pair align) { pen p0=p == nullpen ? currentpen : p; - align=length(align)*unit(shiftless(t)*align); + align=length(align)*unit(rotation(t)*align); label(f,s,size,embed(t)*shiftless(T), t*position+align*labelmargin(p0)+shift(T)*0,align,p0); } diff --git a/Master/texmf/asymptote/plain_constants.asy b/Master/texmf/asymptote/plain_constants.asy index ba8947c91c2..d1d11b1b1c5 100644 --- a/Master/texmf/asymptote/plain_constants.asy +++ b/Master/texmf/asymptote/plain_constants.asy @@ -1,4 +1,4 @@ -restricted int undefined=intMax+((intMax % 2)-1); +restricted int undefined=(intMax % 2 == 1) ? intMax : intMax-1; restricted real inches=72; restricted real inch=inches; diff --git a/Master/texmf/asymptote/three.asy b/Master/texmf/asymptote/three.asy index b0d9c456faa..2de8b4a5cca 100644 --- a/Master/texmf/asymptote/three.asy +++ b/Master/texmf/asymptote/three.asy @@ -36,6 +36,7 @@ struct render // General parameters: real margin; // shrink amount for rendered openGL viewport, in bp. real tubegranularity; // granularity for rendering tubes + bool labelfill; // fill subdivision cracks in unlighted labels static render defaultrender; @@ -46,7 +47,8 @@ struct render bool3 merge=defaultrender.merge, int sphere=defaultrender.sphere, real margin=defaultrender.margin, - real tubegranularity=defaultrender.tubegranularity) + real tubegranularity=defaultrender.tubegranularity, + bool labelfill=defaultrender.labelfill) { this.compression=compression; this.granularity=granularity; @@ -56,6 +58,7 @@ struct render this.sphere=sphere; this.margin=margin; this.tubegranularity=tubegranularity; + this.labelfill=labelfill; } } @@ -70,6 +73,7 @@ defaultrender.merge=false; defaultrender.margin=0.02; defaultrender.tubegranularity=0.005; defaultrender.sphere=NURBSsphere; +defaultrender.labelfill=true; real defaultshininess=0.25; @@ -2127,8 +2131,7 @@ pair max(frame f, projection P) void draw(picture pic=currentpicture, Label L="", path3 g, align align=NoAlign, material p=currentpen, margin3 margin=NoMargin3, - light light=nolight, string name="", - render render=defaultrender) + light light=nolight, string name="", render render=defaultrender) { pen q=(pen) p; pic.add(new void(frame f, transform3 t, picture pic, projection P) { @@ -2167,13 +2170,13 @@ draw=new void(frame f, path3 g, material p=currentpen, void cylinder(transform3) {}; void sphere(transform3, bool half) {}; void disk(transform3) {}; - void tube(path3, path3); + void pipe(path3, path3); if(prc) { cylinder=new void(transform3 t) {drawPRCcylinder(f,t,p,light);}; sphere=new void(transform3 t, bool half) {drawPRCsphere(f,t,half,p,light,render);}; - disk=new void(transform3 t) {draw(f,t*unitdisk,p,light);}; - tube=new void(path3 center, path3 g) + disk=new void(transform3 t) {draw(f,t*unitdisk,p,light,render);}; + pipe=new void(path3 center, path3 g) {drawPRCtube(f,center,g,p,light);}; } real linecap; @@ -2193,7 +2196,7 @@ draw=new void(frame f, path3 g, material p=currentpen, L += 2; } } - tube T=tube(g,width,render,cylinder,sphere,tube); + tube T=tube(g,width,render,cylinder,sphere,pipe); path3 c=T.center; if(L >= 0) { if(open) { @@ -2300,10 +2303,11 @@ void draw(picture pic=currentpicture, Label L="", path3 g, begingroup3(pic,name,render); bool drawpath=arrow(pic,g,p,margin,light,arrowheadlight); if(bar(pic,g,p,margin,light,arrowheadlight) && drawpath) - draw(pic,L,g,align,p,margin,light); + draw(pic,L,g,align,p,margin,light,render); if(group) endgroup3(pic); - label(pic,L,g,align,(pen) p); + if(L.s != "") + label(pic,L,g,align,(pen) p); } void draw(frame f, path3 g, material p=currentpen, arrowbar3 arrow, @@ -2316,7 +2320,7 @@ void draw(frame f, path3 g, material p=currentpen, arrowbar3 arrow, if(group) begingroup3(f,name,render); if(arrow(pic,g,p,NoMargin3,light,arrowheadlight)) - draw(f,g,p,light,P); + draw(f,g,p,light,render,P); add(f,pic.fit()); if(group) endgroup3(f); @@ -2349,7 +2353,8 @@ void add(picture src, triple position, bool group=true, bool above=true) void arrow(picture pic=currentpicture, Label L="", triple b, triple dir, real length=arrowlength, align align=NoAlign, pen p=currentpen, arrowbar3 arrow=Arrow3, margin3 margin=EndMargin3, - light light=nolight, light arrowheadlight=currentlight) + light light=nolight, light arrowheadlight=currentlight, + string name="", render render=defaultrender) { Label L=L.copy(); if(L.defaultposition) L.position(0); @@ -2358,7 +2363,7 @@ void arrow(picture pic=currentpicture, Label L="", triple b, triple dir, picture opic; marginT3 margin=margin(b--b,p); // Extract margin.begin and margin.end triple a=(margin.begin+length+margin.end)*unit(dir); - draw(opic,L,a--O,align,p,arrow,margin,light,arrowheadlight); + draw(opic,L,a--O,align,p,arrow,margin,light,arrowheadlight,name,render); add(pic,opic,b); } @@ -2366,10 +2371,11 @@ void arrow(picture pic=currentpicture, Label L="", triple b, pair dir, real length=arrowlength, align align=NoAlign, pen p=currentpen, arrowbar3 arrow=Arrow3, margin3 margin=EndMargin3, light light=nolight, light arrowheadlight=currentlight, + string name="", render render=defaultrender, projection P=currentprojection) { arrow(pic,L,b,invert(dir,b,P),length,align,p,arrow,margin,light, - arrowheadlight); + arrowheadlight,name,render); } triple min3(picture pic, projection P=currentprojection) diff --git a/Master/texmf/asymptote/three_surface.asy b/Master/texmf/asymptote/three_surface.asy index e00acfa8367..c4f05c7882f 100644 --- a/Master/texmf/asymptote/three_surface.asy +++ b/Master/texmf/asymptote/three_surface.asy @@ -1431,8 +1431,12 @@ void label(frame f, Label L, triple position, align align=NoAlign, L.T3=transform3(P); begingroup3(f,name == "" ? L.s : name,render); if(is3D()) { - for(patch S : surface(L,position).s) + bool lighton=light.on(); + for(patch S : surface(L,position).s) { draw3D(f,S,position,L.p,light,interaction); + if(render.labelfill && !lighton) // Fill subdivision cracks + _draw(f,S.external(),position,L.p,interaction.type); + } } else { pen p=color(L.T3*Z,L.p,light,shiftless(P.T.modelview)); if(L.defaulttransform3) { @@ -1475,10 +1479,15 @@ void label(picture pic=currentpicture, Label L, triple position, surface S=surface(L,v); begingroup3(f,name == "" ? L.s : name,render,v,interaction.type); - if(is3D()) - for(patch S : surface(L,v).s) + bool lighton=light.on(); + if(is3D()) { + for(patch S : surface(L,v).s) { draw3D(f,S,v,L.p,light,interaction); - + if(render.labelfill && !lighton) // Fill subdivision cracks + _draw(f,S.external(),v,L.p,interaction.type); + } + } + if(pic != null) { pen p=color(L.T3*Z,L.p,light,shiftless(P.T.modelview)); if(L.defaulttransform3) { diff --git a/Master/texmf/asymptote/three_tube.asy b/Master/texmf/asymptote/three_tube.asy index 2eb5e4cf716..281eb0716da 100644 --- a/Master/texmf/asymptote/three_tube.asy +++ b/Master/texmf/asymptote/three_tube.asy @@ -296,7 +296,7 @@ struct tube void operator init(path3 p, real width, render render=defaultrender, void cylinder(transform3)=Null, void sphere(transform3, bool half)=Null, - void tube(path3, path3)=null) { + void pipe(path3, path3)=null) { real r=0.5*width; void generate(path3 p) { @@ -380,7 +380,7 @@ struct tube path3 Center=path3(pre,point,post,b,T.cyclic); center=center&Center; - if(tube != null) { // Compute path along tube + if(pipe != null) { // Compute path along tube triple[] pre=new triple[n+1]; triple[] point=new triple[n+1]; triple[] post=new triple[n+1]; @@ -392,7 +392,7 @@ struct tube point[i+1]=P[3][0]; } post[n]=S.s[S.index[n-1][0]].P[3][0]; - tube(Center,path3(pre,point,post,b,T.cyclic)); + pipe(Center,path3(pre,point,post,b,T.cyclic)); } } } diff --git a/Master/texmf/asymptote/version.asy b/Master/texmf/asymptote/version.asy index 12b1e9bbad3..9b1fe1c2bcc 100644 --- a/Master/texmf/asymptote/version.asy +++ b/Master/texmf/asymptote/version.asy @@ -1 +1 @@ -string VERSION="1.96"; +string VERSION="1.98"; diff --git a/Master/texmf/doc/asymptote/CAD.pdf b/Master/texmf/doc/asymptote/CAD.pdf Binary files differindex 4406335c391..e5cfb778ea7 100644 --- a/Master/texmf/doc/asymptote/CAD.pdf +++ b/Master/texmf/doc/asymptote/CAD.pdf diff --git a/Master/texmf/doc/asymptote/asymptote.pdf b/Master/texmf/doc/asymptote/asymptote.pdf Binary files differindex 0bd7a54892d..e0b2b521e80 100644 --- a/Master/texmf/doc/asymptote/asymptote.pdf +++ b/Master/texmf/doc/asymptote/asymptote.pdf diff --git a/Master/texmf/doc/asymptote/examples/BezierPatch.asy b/Master/texmf/doc/asymptote/examples/BezierPatch.asy index 0e6b477eb13..8d770e058ae 100644 --- a/Master/texmf/doc/asymptote/examples/BezierPatch.asy +++ b/Master/texmf/doc/asymptote/examples/BezierPatch.asy @@ -1,7 +1,7 @@ import three; size(10cm); -currentlight=(0,0,1); +currentlight=Viewport; surface s=surface(patch(new triple[][] { {(0,0,0),(1,0,0),(1,0,0),(2,0,0)}, diff --git a/Master/texmf/doc/asymptote/examples/GaussianSurface.asy b/Master/texmf/doc/asymptote/examples/GaussianSurface.asy index 7b75a5133a7..bf198a6a243 100644 --- a/Master/texmf/doc/asymptote/examples/GaussianSurface.asy +++ b/Master/texmf/doc/asymptote/examples/GaussianSurface.asy @@ -16,6 +16,6 @@ xaxis3(Label("$x$"),red,Arrow3); yaxis3(Label("$y$"),red,Arrow3); zaxis3(XYZero(extend=true),red,Arrow3); -draw(s,lightgray,meshpen=black+thick(),nolight); +draw(s,lightgray,meshpen=black+thick(),nolight,render(merge=true)); label("$O$",O,-Z+Y,red); diff --git a/Master/texmf/doc/asymptote/examples/Klein.asy b/Master/texmf/doc/asymptote/examples/Klein.asy index b2f6d1b0e79..99914d90432 100644 --- a/Master/texmf/doc/asymptote/examples/Klein.asy +++ b/Master/texmf/doc/asymptote/examples/Klein.asy @@ -22,7 +22,7 @@ triple f(pair t) { } surface s=surface(f,(0,0),(2pi,2pi),8,8,Spline); -draw(s,lightolive+white,"bottle"); +draw(s,lightolive+white,"bottle",render(merge=true)); string lo="$\displaystyle u\in[0,\pi]: \cases{x=3\cos u(1+\sin u)+(2-\cos u)\cos u\cos v,\cr y=8\sin u+(2-\cos u)\sin u\cos v,\cr diff --git a/Master/texmf/doc/asymptote/examples/RiemannSurface.asy b/Master/texmf/doc/asymptote/examples/RiemannSurface.asy index f32ca4d7539..a1f1b665089 100644 --- a/Master/texmf/doc/asymptote/examples/RiemannSurface.asy +++ b/Master/texmf/doc/asymptote/examples/RiemannSurface.asy @@ -10,4 +10,4 @@ triple f(pair t) {return (exp(t.x)*cos(t.y),exp(t.x)*sin(t.y),t.y);} surface s=surface(f,(-4,-2pi),(0,4pi),8,16,Spline); s.colors(palette(s.map(zpart),Rainbow())); -draw(s); +draw(s,render(merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/RiemannSurfaceRoot.asy b/Master/texmf/doc/asymptote/examples/RiemannSurfaceRoot.asy index 93bd7035842..8cb3af2cfa9 100644 --- a/Master/texmf/doc/asymptote/examples/RiemannSurfaceRoot.asy +++ b/Master/texmf/doc/asymptote/examples/RiemannSurfaceRoot.asy @@ -1,11 +1,10 @@ // Riemann surface of z^{1/n} import graph3; import palette; - + int n=3; size(200,300,keepAspect=false); -//settings.nothin=true; currentprojection=orthographic(10,10,30); currentlight=(10,10,5); @@ -14,4 +13,4 @@ triple f(pair t) {return (t.x*cos(t.y),t.x*sin(t.y),t.x^(1/n)*sin(t.y/n));} surface s=surface(f,(0,0),(1,2pi*n),8,16,Spline); s.colors(palette(s.map(zpart),Rainbow())); -draw(s,meshpen=black); +draw(s,meshpen=black,render(merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/SierpinskiGasket.asy b/Master/texmf/doc/asymptote/examples/SierpinskiGasket.asy index 57251735db8..2e0d4facd64 100644 --- a/Master/texmf/doc/asymptote/examples/SierpinskiGasket.asy +++ b/Master/texmf/doc/asymptote/examples/SierpinskiGasket.asy @@ -28,4 +28,4 @@ recur(O,0.5,1); s.colors(palette(s.map(zpart),Rainbow())); -draw(s); +draw(s,render(merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/SierpinskiSponge.asy b/Master/texmf/doc/asymptote/examples/SierpinskiSponge.asy index 209c3d182ed..328447d4ac4 100644 --- a/Master/texmf/doc/asymptote/examples/SierpinskiSponge.asy +++ b/Master/texmf/doc/asymptote/examples/SierpinskiSponge.asy @@ -39,4 +39,4 @@ sf.append(rotate(90,Y)*s); sf.append(rotate(90,Z)*s); sf.colors(palette(sf.map(abs),Rainbow())); -draw(sf); +draw(sf,render(compression=Low,merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/basealign.asy b/Master/texmf/doc/asymptote/examples/basealign.asy index 8a34bdab4b7..4bf83c94033 100644 --- a/Master/texmf/doc/asymptote/examples/basealign.asy +++ b/Master/texmf/doc/asymptote/examples/basealign.asy @@ -1,5 +1,7 @@ import fontsize; import three; + +settings.autobillboard=false; currentprojection=orthographic(Z); defaultpen(fontsize(100pt)); diff --git a/Master/texmf/doc/asymptote/examples/cheese.asy b/Master/texmf/doc/asymptote/examples/cheese.asy index f283f5c8115..9a16e4130dc 100644 --- a/Master/texmf/doc/asymptote/examples/cheese.asy +++ b/Master/texmf/doc/asymptote/examples/cheese.asy @@ -9,4 +9,4 @@ real f(real x, real y, real z) { surface sf=surface(contour3(f,(-2pi,-2pi,-2pi),(2pi,2pi,2pi),12)); sf.colors(palette(sf.map(abs),Gradient(red,yellow))); -draw(sf,nolight); +draw(sf,nolight,render(merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/cos3.asy b/Master/texmf/doc/asymptote/examples/cos3.asy index fa9c8f49550..ef8054d6627 100644 --- a/Master/texmf/doc/asymptote/examples/cos3.asy +++ b/Master/texmf/doc/asymptote/examples/cos3.asy @@ -6,15 +6,12 @@ currentprojection=orthographic(1,-2,1); real f(pair z) {return abs(cos(z));} -real Arg(triple v) -{ - return degrees(cos((v.x,v.y)),warn=false); -} +real Arg(triple v) {return degrees(cos((v.x,v.y)),warn=false);} surface s=surface(f,(-pi,-2),(pi,2),20,Spline); s.colors(palette(s.map(Arg),Wheel())); -draw(s); +draw(s,render(compression=Low,merge=true)); real xmin=point((-1,-1,-1)).x; real xmax=point((1,1,1)).x; @@ -23,3 +20,6 @@ draw((xmin,0,0)--(xmax,0,0),dashed); xaxis3("$\mathop{\rm Re} z$",Bounds,InTicks); yaxis3("$\mathop{\rm Im} z$",Bounds,InTicks(beginlabel=false)); zaxis3("$|\cos(z)|$",Bounds,InTicks); + + + diff --git a/Master/texmf/doc/asymptote/examples/cyclohexane.asy b/Master/texmf/doc/asymptote/examples/cyclohexane.asy index 8e1ff466b9d..11b01551c8d 100644 --- a/Master/texmf/doc/asymptote/examples/cyclohexane.asy +++ b/Master/texmf/doc/asymptote/examples/cyclohexane.asy @@ -36,6 +36,8 @@ triple h12=rotate(120,c6,c5)*h11; pen Black=gray(0.4); +defaultrender=render(compression=Zero,merge=true); + draw(shift(c1)*carbon,Black); draw(shift(c2)*carbon,Black); draw(shift(c3)*carbon,Black); diff --git a/Master/texmf/doc/asymptote/examples/elevation.asy b/Master/texmf/doc/asymptote/examples/elevation.asy index 4e4579d98a9..1ff4ee38f28 100644 --- a/Master/texmf/doc/asymptote/examples/elevation.asy +++ b/Master/texmf/doc/asymptote/examples/elevation.asy @@ -6,6 +6,8 @@ currentprojection=orthographic(0.8,1,1); size(400,300,IgnoreAspect); +defaultrender.merge=true; + real f(pair z) {return cos(2*pi*z.x)*sin(2*pi*z.y);} surface s=surface(f,(-1/2,-1/2),(1/2,1/2),50,Spline); diff --git a/Master/texmf/doc/asymptote/examples/epix.asy b/Master/texmf/doc/asymptote/examples/epix.asy index df0cd3d336c..b833289bd80 100644 --- a/Master/texmf/doc/asymptote/examples/epix.asy +++ b/Master/texmf/doc/asymptote/examples/epix.asy @@ -6,7 +6,7 @@ currentprojection=perspective(4,2,3); real f(pair z) {return z.y^3/2-3z.x^2*z.y;} -draw(surface(f,(-1,-1),(1,1),nx=10,Spline),green); +draw(surface(f,(-1,-1),(1,1),nx=10,Spline),green,render(merge=true)); draw(Label("$y$",1),(0,0,0)--(0,2,0),red,Arrow3); draw(Label("$x$",1),(0,0,0)--(2,0,0),red,Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/equilchord.asy b/Master/texmf/doc/asymptote/examples/equilchord.asy index ae3665b1a66..b93da942d08 100644 --- a/Master/texmf/doc/asymptote/examples/equilchord.asy +++ b/Master/texmf/doc/asymptote/examples/equilchord.asy @@ -15,7 +15,7 @@ draw((-a,-a,0)--(-a,a,0)--(a,a,0)--(a,-a,0)--cycle,lightgray); xaxis3(Label("$x$",1),red,Arrow3); yaxis3(Label("$y$",1),red,Arrow3); draw(circle((0,0,0),1),dashed); -draw(surface(F,(-1,-1),(t,1),20,monotonic),green,black); +draw(surface(F,(-1,-1),(t,1),20,monotonic),green,black,render(merge=true)); real y=sqrt(1-t^2); draw((t,y,0)--(t,-y,0)--(t,0,sqrt(3)*y)--cycle,blue); label("$1$",(1,0,0),-Y+X); diff --git a/Master/texmf/doc/asymptote/examples/exp3.asy b/Master/texmf/doc/asymptote/examples/exp3.asy index e7508a29297..39baba993f3 100644 --- a/Master/texmf/doc/asymptote/examples/exp3.asy +++ b/Master/texmf/doc/asymptote/examples/exp3.asy @@ -6,15 +6,12 @@ currentprojection=orthographic(1,-2,1); real f(pair z) {return abs(exp(z));} -real Arg(triple v) -{ - return degrees(exp((v.x,v.y)),warn=false); -} +real Arg(triple v) {return degrees(exp((v.x,v.y)),warn=false);} surface s=surface(f,(-2,-pi),(2,pi),20,Spline); s.colors(palette(s.map(Arg),Wheel())); -draw(s); +draw(s,render(compression=Low,merge=true)); real xmin=point((-1,-1,-1)).x; real xmax=point((1,1,1)).x; diff --git a/Master/texmf/doc/asymptote/examples/extrudedcontour.asy b/Master/texmf/doc/asymptote/examples/extrudedcontour.asy index b5ad885a350..7b2f67459ce 100644 --- a/Master/texmf/doc/asymptote/examples/extrudedcontour.asy +++ b/Master/texmf/doc/asymptote/examples/extrudedcontour.asy @@ -8,15 +8,16 @@ real b=4; real f(pair z) {return (z.x+z.y)/(2+cos(z.x)*sin(z.y));} guide[][] g=contour(f,(-10,-10),(10,10),new real[]{8},150); +render render=render(merge=true); for(guide p:g[0]){ - draw(extrude(p,8Z),palered); - draw(path3(p),red+2pt); + draw(extrude(p,8Z),palered,render); + draw(path3(p),red+2pt,render); } -draw(lift(f,g),red+2pt); +draw(lift(f,g),red+2pt,render); surface s=surface(f,(0,0),(10,10),20,Spline); s.colors(palette(s.map(zpart),Rainbow()+opacity(0.5))); -draw(s); +draw(s,render); axes3("$x$","$y$","$z$",Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/filesurface.asy b/Master/texmf/doc/asymptote/examples/filesurface.asy index 98adc045f07..2a93c96ec19 100644 --- a/Master/texmf/doc/asymptote/examples/filesurface.asy +++ b/Master/texmf/doc/asymptote/examples/filesurface.asy @@ -21,7 +21,7 @@ real[] level=uniform(min(f)*(1-sqrtEpsilon),max(f)*(1+sqrtEpsilon),4); s.colors(palette(s.map(new real(triple v) {return find(level >= v.z);}), Rainbow())); -draw(s,meshpen=thick()); +draw(s,meshpen=thick(),render(merge=true)); triple m=currentpicture.userMin; triple M=currentpicture.userMax; diff --git a/Master/texmf/doc/asymptote/examples/gamma3.asy b/Master/texmf/doc/asymptote/examples/gamma3.asy index e7fdde015e0..e522dad4e70 100644 --- a/Master/texmf/doc/asymptote/examples/gamma3.asy +++ b/Master/texmf/doc/asymptote/examples/gamma3.asy @@ -22,7 +22,7 @@ real Arg(triple v) } s.colors(palette(s.map(Arg),Wheel())); -draw(s); +draw(s,render(compression=Low,merge=true)); real xmin=point((-1,-1,-1)).x; real xmax=point((1,1,1)).x; diff --git a/Master/texmf/doc/asymptote/examples/magnetic.asy b/Master/texmf/doc/asymptote/examples/magnetic.asy index 4dc187f5770..3ae40466d43 100644 --- a/Master/texmf/doc/asymptote/examples/magnetic.asy +++ b/Master/texmf/doc/asymptote/examples/magnetic.asy @@ -10,7 +10,8 @@ real B(real z) {return 1-0.5cos(pi*z/10);} real f(real x, real y, real z) {return 0.5B(z)*(a(z)*x^2+b(z)*y^2)-1;} -draw(surface(contour3(f,(-2,-2,-10),(2,2,10),10)),blue+opacity(0.75)); +draw(surface(contour3(f,(-2,-2,-10),(2,2,10),10)),blue+opacity(0.75), + render(merge=true)); xaxis3(Label("$x$",1),red); yaxis3(Label("$y$",1),red); diff --git a/Master/texmf/doc/asymptote/examples/p-orbital.asy b/Master/texmf/doc/asymptote/examples/p-orbital.asy index d8b22bc2982..1932e098c67 100644 --- a/Master/texmf/doc/asymptote/examples/p-orbital.asy +++ b/Master/texmf/doc/asymptote/examples/p-orbital.asy @@ -2,6 +2,7 @@ import graph3; import palette; size(200); currentprojection=orthographic(6,8,2); +viewportmargin=(1cm,0); real c0=0.1; @@ -22,7 +23,9 @@ real R=abs((20,20,20)); surface s=surface(f,(0,0),(R,2pi),100,8,Spline,cond); s.colors(palette(s.map(abs),Gradient(palegreen,heavyblue))); -draw(s); + +render render=render(compression=Low,merge=true); +draw(s,render); draw(zscale3(-1)*s); axes3("$x$","$y$","$z$",Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/parametricelevation.asy b/Master/texmf/doc/asymptote/examples/parametricelevation.asy index 52cec8728a5..ac0f0b09ad5 100644 --- a/Master/texmf/doc/asymptote/examples/parametricelevation.asy +++ b/Master/texmf/doc/asymptote/examples/parametricelevation.asy @@ -7,4 +7,4 @@ currentprojection=orthographic(4,2,4); triple f(pair z) {return expi(z.x,z.y);} surface s=surface(f,(0,0),(pi,2pi),10,Spline); -draw(s,mean(palette(s.map(zpart),BWRainbow())),black,nolight); +draw(s,mean(palette(s.map(zpart),BWRainbow())),black,nolight,render(merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/parametricsurface.asy b/Master/texmf/doc/asymptote/examples/parametricsurface.asy index de669b59faf..299ea72eef7 100644 --- a/Master/texmf/doc/asymptote/examples/parametricsurface.asy +++ b/Master/texmf/doc/asymptote/examples/parametricsurface.asy @@ -20,4 +20,4 @@ surface s=surface(f,(0,0),(2pi,2pi),8,8,Spline); // draw(s,nullpen,meshpen=p); // surface & mesh -draw(s,lightgray,meshpen=p); +draw(s,lightgray,meshpen=p,render(merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/pipeintersection.asy b/Master/texmf/doc/asymptote/examples/pipeintersection.asy index 5bf9cfbe6f3..6b0388f1378 100644 --- a/Master/texmf/doc/asymptote/examples/pipeintersection.asy +++ b/Master/texmf/doc/asymptote/examples/pipeintersection.asy @@ -9,4 +9,5 @@ real f(pair z) {return min(sqrt(1-z.x^2),sqrt(1-z.y^2));} surface s=surface(f,(0,0),(1,1),40,Spline); transform3 t=rotate(90,O,Z), t2=t*t, t3=t2*t, i=xscale3(-1)*zscale3(-1); -draw(surface(s,t*s,t2*s,t3*s,i*s,i*t*s,i*t2*s,i*t3*s),blue,render(merge=true)); +draw(surface(s,t*s,t2*s,t3*s,i*s,i*t*s,i*t2*s,i*t3*s),blue, + render(compression=Low,closed=true,merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/roll.asy b/Master/texmf/doc/asymptote/examples/roll.asy index 088da3177f4..4d15ac0febe 100644 --- a/Master/texmf/doc/asymptote/examples/roll.asy +++ b/Master/texmf/doc/asymptote/examples/roll.asy @@ -7,4 +7,4 @@ return(t.x+t.y/4+sin(t.y),cos(t.y),sin(t.y)); } surface s=surface(f,(0,0),(2pi,2pi),7,20,Spline); -draw(s,olive); +draw(s,olive,render(merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/shellsqrtx01.asy b/Master/texmf/doc/asymptote/examples/shellsqrtx01.asy index c4edec122c8..553200df14c 100644 --- a/Master/texmf/doc/asymptote/examples/shellsqrtx01.asy +++ b/Master/texmf/doc/asymptote/examples/shellsqrtx01.asy @@ -13,12 +13,14 @@ path p=graph(F,0,1,n=30,operator ..)--(1,0)--cycle; path3 p3=path3(p); revolution a=revolution(p3,X,alpha,0); -draw(surface(a),color); + +render render=render(compression=0,merge=true); +draw(surface(a),color,render); draw(p3,blue); surface s=surface(p); -draw(s,color); -draw(rotate(alpha,X)*s,color); +draw(s,color,render); +draw(rotate(alpha,X)*s,color,render); xaxis3(Label("$x$",1),xmax=1.25,dashed,Arrow3); yaxis3(Label("$y$",1),Arrow3); diff --git a/Master/texmf/doc/asymptote/examples/sin3.asy b/Master/texmf/doc/asymptote/examples/sin3.asy index d35cd271808..76551dacb95 100644 --- a/Master/texmf/doc/asymptote/examples/sin3.asy +++ b/Master/texmf/doc/asymptote/examples/sin3.asy @@ -6,15 +6,12 @@ currentprojection=orthographic(1,-2,1); real f(pair z) {return abs(sin(z));} -real Arg(triple v) -{ - return degrees(sin((v.x,v.y)),warn=false); -} +real Arg(triple v) {return degrees(cos((v.x,v.y)),warn=false);} surface s=surface(f,(-pi,-2),(pi,2),20,Spline); s.colors(palette(s.map(Arg),Wheel())); -draw(s); +draw(s,render(compression=Low,merge=true)); real xmin=point((-1,-1,-1)).x; real xmax=point((1,1,1)).x; diff --git a/Master/texmf/doc/asymptote/examples/sinc.asy b/Master/texmf/doc/asymptote/examples/sinc.asy index cd0d377e633..352585bdbe4 100644 --- a/Master/texmf/doc/asymptote/examples/sinc.asy +++ b/Master/texmf/doc/asymptote/examples/sinc.asy @@ -2,7 +2,7 @@ import graph3; import contour; currentprojection=orthographic(1,-2,1); -currentlight=(1,-1,0.5); +currentlight=White; size(12cm,0); @@ -11,8 +11,13 @@ real sinc(pair z) { return r != 0 ? sin(r)/r : 1; } +render render=render(compression=Low,merge=true); + draw(lift(sinc,contour(sinc,(-2,-2),(2,2),new real[] {0})),red); -draw(surface(sinc,(-2,-2),(2,2),Spline),lightgray+opacity(0.5)); +draw(surface(sinc,(-2,-2),(2,2),Spline),lightgray,render); + +draw(scale3(2*sqrt(2))*unitdisk,paleyellow+opacity(0.25),nolight,render); +draw(scale3(2*sqrt(2))*unitcircle3,red,render); xaxis3("$x$",Bounds,InTicks); yaxis3("$y$",Bounds,InTicks(beginlabel=false)); diff --git a/Master/texmf/doc/asymptote/examples/slidedemo.asy b/Master/texmf/doc/asymptote/examples/slidedemo.asy index 52ede757b47..7a753a54d61 100644 --- a/Master/texmf/doc/asymptote/examples/slidedemo.asy +++ b/Master/texmf/doc/asymptote/examples/slidedemo.asy @@ -93,11 +93,12 @@ triple F3(real x) {return (x,f(x),0);} path p=graph(pic,F,0,1,n=30,operator ..)--(1,0)--cycle; path3 p3=path3(p); revolution a=revolution(p3,X,alpha,0); -draw(pic,surface(a),color); +render render=render(compression=0,merge=true); +draw(pic,surface(a),color,render); draw(pic,p3,blue); surface s=surface(p); -draw(pic,s,color); -draw(pic,rotate(alpha,X)*s,color); +draw(pic,s,color,render); +draw(pic,rotate(alpha,X)*s,color,render); xaxis3(pic,Label("$x$",1),xmax=1.25,dashed,Arrow3); yaxis3(pic,Label("$y$",1),Arrow3); dot(pic,"$(1,1)$",(1,1,0)); diff --git a/Master/texmf/doc/asymptote/examples/soccerball.asy b/Master/texmf/doc/asymptote/examples/soccerball.asy index f481ef1b7ff..a37063dbb29 100644 --- a/Master/texmf/doc/asymptote/examples/soccerball.asy +++ b/Master/texmf/doc/asymptote/examples/soccerball.asy @@ -2,6 +2,8 @@ import graph3; size(400); currentlight.background=palegreen; +defaultrender=render(compression=Zero,merge=true); + real c=(1+sqrt(5))/2; triple[] z={(c,1,0),(-c,1,0),(-c,-1,0),(c,-1,0)}; diff --git a/Master/texmf/doc/asymptote/examples/sphere.asy b/Master/texmf/doc/asymptote/examples/sphere.asy index 41f3f548895..8d1b5fe50cd 100644 --- a/Master/texmf/doc/asymptote/examples/sphere.asy +++ b/Master/texmf/doc/asymptote/examples/sphere.asy @@ -3,4 +3,4 @@ import three; size(200); currentprojection=orthographic(5,4,3); -draw(unitsphere,green,render(compression=Zero)); +draw(unitsphere,green,render(compression=Zero,merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/sphericalharmonic.asy b/Master/texmf/doc/asymptote/examples/sphericalharmonic.asy index d89d81aee86..9fbb16f624d 100644 --- a/Master/texmf/doc/asymptote/examples/sphericalharmonic.asy +++ b/Master/texmf/doc/asymptote/examples/sphericalharmonic.asy @@ -11,4 +11,4 @@ triple f(pair z) {return r(z.x,z.y)*expi(z.x,z.y);} surface s=surface(f,(0,0),(pi,2pi),50,Spline); s.colors(palette(s.map(abs),Gradient(yellow,red))); -draw(s); +draw(s,render(compression=Low,merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/spiral3.asy b/Master/texmf/doc/asymptote/examples/spiral3.asy index cea9665a951..727ca3f6d3a 100644 --- a/Master/texmf/doc/asymptote/examples/spiral3.asy +++ b/Master/texmf/doc/asymptote/examples/spiral3.asy @@ -4,6 +4,7 @@ import palette; size3(10cm); currentprojection=orthographic(5,4,2); +viewportmargin=(2cm,0); real r(real t) {return 3exp(-0.1*t);} real x(real t) {return r(t)*cos(t);} @@ -15,5 +16,5 @@ path3 p=graph(x,y,z,0,6*pi,50,operator ..); tube T=tube(p,2); surface s=T.s; s.colors(palette(s.map(zpart),BWRainbow())); -draw(s); +draw(s,render(merge=true)); draw(T.center,thin()); diff --git a/Master/texmf/doc/asymptote/examples/splitpatch.asy b/Master/texmf/doc/asymptote/examples/splitpatch.asy index cfd5c9a4c93..200fb2c4c44 100644 --- a/Master/texmf/doc/asymptote/examples/splitpatch.asy +++ b/Master/texmf/doc/asymptote/examples/splitpatch.asy @@ -19,6 +19,8 @@ triple[][] B={ split S=split(A,B,10); //write(S.T.length); +defaultrender.merge=true; + for(int i=0; i < S.T.length; ++i) draw(surface(patch(S.T[i])),Pen(i)); draw(surface(patch(B)),blue); diff --git a/Master/texmf/doc/asymptote/examples/sqrtx01.asy b/Master/texmf/doc/asymptote/examples/sqrtx01.asy index 2ca9ac697d6..4d2b0a45dce 100644 --- a/Master/texmf/doc/asymptote/examples/sqrtx01.asy +++ b/Master/texmf/doc/asymptote/examples/sqrtx01.asy @@ -12,7 +12,7 @@ path p=graph(F,0,1,n=20,operator ..); path3 p3=path3(p); revolution a=revolution(p3,X,0,360); -draw(surface(a),color); +draw(surface(a),color,render(compression=Low,merge=true)); draw(p3,blue); real x=relpoint(p,0.5).x; diff --git a/Master/texmf/doc/asymptote/examples/sqrtx01y1.asy b/Master/texmf/doc/asymptote/examples/sqrtx01y1.asy index c944f43d268..dcb247f572e 100644 --- a/Master/texmf/doc/asymptote/examples/sqrtx01y1.asy +++ b/Master/texmf/doc/asymptote/examples/sqrtx01y1.asy @@ -2,6 +2,7 @@ import graph3; import solids; size(0,150); currentprojection=perspective(0,1,10,up=Y); +currentlight=White; real f(real x) {return sqrt(x);} pair F(real x) {return (x,f(x));} @@ -11,7 +12,7 @@ path p=graph(F,0,1,n=25,operator ..); path3 p3=path3(p); revolution a=revolution(p3,Y,0,360); -draw(surface(a),green); +draw(surface(a),green,render(compression=Low,merge=true)); draw(p3,blue); xtick((0,0,0)); diff --git a/Master/texmf/doc/asymptote/examples/stroke3.asy b/Master/texmf/doc/asymptote/examples/stroke3.asy index 6b386c3a0c9..75824d41dd3 100644 --- a/Master/texmf/doc/asymptote/examples/stroke3.asy +++ b/Master/texmf/doc/asymptote/examples/stroke3.asy @@ -1,2 +1,4 @@ import three; -draw(O--X,red,currentlight); +size(5cm); + +draw(O--X,red+1cm,currentlight); diff --git a/Master/texmf/doc/asymptote/examples/threeviews.asy b/Master/texmf/doc/asymptote/examples/threeviews.asy index 05c89e650ca..1bcc36ae8d7 100644 --- a/Master/texmf/doc/asymptote/examples/threeviews.asy +++ b/Master/texmf/doc/asymptote/examples/threeviews.asy @@ -8,7 +8,7 @@ settings.render=4; settings.toolbar=false; viewportmargin=(1cm,1cm); -draw(pic,scale3(0.5)*unitsphere,green); +draw(pic,scale3(0.5)*unitsphere,green,render(compression=Low,merge=true)); draw(pic,Label("$x$",1),O--X); draw(pic,Label("$y$",1),O--Y); draw(pic,Label("$z$",1),O--Z); diff --git a/Master/texmf/doc/asymptote/examples/torus.asy b/Master/texmf/doc/asymptote/examples/torus.asy index c64c16701ad..f89c82cde8b 100644 --- a/Master/texmf/doc/asymptote/examples/torus.asy +++ b/Master/texmf/doc/asymptote/examples/torus.asy @@ -17,4 +17,4 @@ triple f(pair t) { } surface s=surface(f,(radians(90),0),(radians(345),2pi),8,8,Spline); -draw(s,green); +draw(s,green,render(merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/trefoilknot.asy b/Master/texmf/doc/asymptote/examples/trefoilknot.asy index 3c5e4aecc5a..8ea5b264b48 100644 --- a/Master/texmf/doc/asymptote/examples/trefoilknot.asy +++ b/Master/texmf/doc/asymptote/examples/trefoilknot.asy @@ -20,4 +20,4 @@ for (int i=pens.length-2; i >= 0 ; --i) path sec=scale(0.25)*texpath("$\pi$")[0]; coloredpath colorsec=coloredpath(sec, pens,colortype=coloredNodes); -draw(tube(p,colorsec)); +draw(tube(p,colorsec),render(merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/trumpet.asy b/Master/texmf/doc/asymptote/examples/trumpet.asy index 032f8a7ffd6..842af2b23c2 100644 --- a/Master/texmf/doc/asymptote/examples/trumpet.asy +++ b/Master/texmf/doc/asymptote/examples/trumpet.asy @@ -4,9 +4,9 @@ size(200,0); currentlight=Viewport; triple f(pair t) { - return(10*sin(t.y),cos(t.x)*(cos(t.y)+log(abs(tan(t.y/2)))), - sin(t.x)*(cos(t.y)+log(abs(tan(t.y/2))))); + real u=log(abs(tan(t.y/2))); + return (10*sin(t.y),cos(t.x)*(cos(t.y)+u),sin(t.x)*(cos(t.y)+u)); } surface s=surface(f,(0,pi/2),(2pi,pi-0.1),7,15,Spline); -draw(s,olive); +draw(s,olive+0.25*white,render(compression=Low,merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/truncatedIcosahedron.asy b/Master/texmf/doc/asymptote/examples/truncatedIcosahedron.asy index 436c6121b9f..e4d07a49e5b 100644 --- a/Master/texmf/doc/asymptote/examples/truncatedIcosahedron.asy +++ b/Master/texmf/doc/asymptote/examples/truncatedIcosahedron.asy @@ -2,6 +2,8 @@ import graph3; size(200); +defaultrender.merge=true; + real c=(1+sqrt(5))/2; triple[] z={(c,1,0),(-c,1,0),(-c,-1,0),(c,-1,0)}; diff --git a/Master/texmf/doc/asymptote/examples/twistedtubes.asy b/Master/texmf/doc/asymptote/examples/twistedtubes.asy index 4d38d86f4df..9121ad6444d 100644 --- a/Master/texmf/doc/asymptote/examples/twistedtubes.asy +++ b/Master/texmf/doc/asymptote/examples/twistedtubes.asy @@ -22,6 +22,8 @@ s2.colors(palette(s2.map(f),Rainbow)); s3.colors(palette(s3.map(f),Rainbow)); s4.colors(palette(s4.map(f),Rainbow)); +defaultrender.merge=true; + draw(s1); draw(s2); draw(s3); diff --git a/Master/texmf/doc/asymptote/examples/vectorfieldsphere.asy b/Master/texmf/doc/asymptote/examples/vectorfieldsphere.asy index 2348e09f855..7f1e49057a5 100644 --- a/Master/texmf/doc/asymptote/examples/vectorfieldsphere.asy +++ b/Master/texmf/doc/asymptote/examples/vectorfieldsphere.asy @@ -12,6 +12,6 @@ path3 vector(pair z) { return O--(v.y,v.z,v.x); } -add(vectorfield(vector,f,(0,0),(pi,2pi),10,0.25,red)); +add(vectorfield(vector,f,(0,0),(pi,2pi),10,0.25,red,render(merge=true))); -draw(unitsphere,gray+opacity(0.5)); +draw(unitsphere,gray+opacity(0.5),render(compression=0,merge=true)); diff --git a/Master/texmf/doc/asymptote/examples/washer.asy b/Master/texmf/doc/asymptote/examples/washer.asy index 083039e55a3..457ae69fb83 100644 --- a/Master/texmf/doc/asymptote/examples/washer.asy +++ b/Master/texmf/doc/asymptote/examples/washer.asy @@ -5,8 +5,9 @@ path3[] p=reverse(unitcircle3)^^scale3(0.5)*unitcircle3; path[] g=reverse(unitcircle)^^scale(0.5)*unitcircle; triple H=-0.4Z; -draw(surface(p,planar=true)); -draw(surface(shift(H)*p,planar=true)); +render render=render(merge=true); +draw(surface(p,planar=true),render); +draw(surface(shift(H)*p,planar=true),render); material m=material(lightgray,shininess=1.0); for(path pp : g) draw(extrude(pp,H),m); diff --git a/Master/texmf/doc/asymptote/examples/washermethod.asy b/Master/texmf/doc/asymptote/examples/washermethod.asy index 032ed6cbc85..9a18b871414 100644 --- a/Master/texmf/doc/asymptote/examples/washermethod.asy +++ b/Master/texmf/doc/asymptote/examples/washermethod.asy @@ -18,13 +18,15 @@ path[] p={graph(F,0.7476,1.8043,Spline)--cycle, pen[] pn=new pen[] {color1,color2,color1}; +render render=render(compression=0); + for(int i=0; i < p.length; ++i) { revolution a=revolution(path3(p[i]),Y,0,alpha); - draw(surface(a),pn[i]); + draw(surface(a),pn[i],render); surface s=surface(p[i]); - draw(s,pn[i]); - draw(rotate(alpha,Y)*s,pn[i]); + draw(s,pn[i],render); + draw(rotate(alpha,Y)*s,pn[i],render); } draw((4/3,0,0)--F3(4/3),dashed); diff --git a/Master/texmf/doc/asymptote/examples/wedge.asy b/Master/texmf/doc/asymptote/examples/wedge.asy index 6cf6a58975f..41b4326cf42 100644 --- a/Master/texmf/doc/asymptote/examples/wedge.asy +++ b/Master/texmf/doc/asymptote/examples/wedge.asy @@ -10,11 +10,13 @@ draw(shift(-4Z)*scale(4,4,8)*unitcylinder,green+opacity(0.2)); triple F(real x){return (x,sqrt(16-x^2),sqrt((16-x^2)/3));} path3 p=graph(F,0,4,operator ..); path3 q=reverse(p)--rotate(180,(0,4,4/sqrt(3)))*p--cycle; -draw(surface(q--cycle),red); + +render render=render(merge=true); +draw(surface(q--cycle),red,render); real t=2; path3 triangle=(t,0,0)--(t,sqrt(16-t^2),0)--F(t)--cycle; -draw(surface(triangle),blue); +draw(surface(triangle),blue,render); xaxis3("$x$",Arrow3,PenMargin3(0,0.25)); yaxis3("$y$",Arrow3,PenMargin3(0,0.25)); diff --git a/Master/texmf/doc/asymptote/examples/xxsq01.asy b/Master/texmf/doc/asymptote/examples/xxsq01.asy index 11a035f0418..23a38393a94 100644 --- a/Master/texmf/doc/asymptote/examples/xxsq01.asy +++ b/Master/texmf/doc/asymptote/examples/xxsq01.asy @@ -14,11 +14,11 @@ path p=graph(F,0,1,n=10,operator ..)--cycle; path3 p3=path3(p); revolution a=revolution(p3,X,-alpha,0); -draw(surface(a),color); - +render render=render(compression=0,merge=true); +draw(surface(a),color,render); surface s=surface(p); -draw(s,color); -draw(rotate(-alpha,X)*s,color); +draw(s,color,render); +draw(rotate(-alpha,X)*s,color,render); draw(p3,blue); diff --git a/Master/texmf/doc/asymptote/examples/xxsq01x-1.asy b/Master/texmf/doc/asymptote/examples/xxsq01x-1.asy index 2c4c9ec363c..6d645a49664 100644 --- a/Master/texmf/doc/asymptote/examples/xxsq01x-1.asy +++ b/Master/texmf/doc/asymptote/examples/xxsq01x-1.asy @@ -2,7 +2,7 @@ import graph3; import solids; size(300); currentprojection=perspective(0,2,10,up=Y); -currentlight=(0.25,-0.25,5); +currentlight=Viewport; pen color=green; @@ -14,6 +14,7 @@ path p=graph(F,0,1,n=10,operator ..)--cycle; path3 p3=path3(p); revolution a=revolution(-X,p3,Y,0,180); +render render=render(merge=true); draw(surface(a),color); surface s=surface(p); draw(s,color); diff --git a/Master/texmf/doc/asymptote/examples/xxsq01y.asy b/Master/texmf/doc/asymptote/examples/xxsq01y.asy index 53f77d1f9bb..770f4fc22cf 100644 --- a/Master/texmf/doc/asymptote/examples/xxsq01y.asy +++ b/Master/texmf/doc/asymptote/examples/xxsq01y.asy @@ -11,11 +11,13 @@ triple F3(real x) {return (x,f(x),0);} path p=graph(F,0,1,n=10,operator ..)--cycle; path3 p3=path3(p); -draw(surface(revolution(p3,Y,0,alpha)),color); +render render=render(compression=0,merge=true); + +draw(surface(revolution(p3,Y,0,alpha)),color,render); surface s=surface(p); -draw(s,color); -draw(rotate(alpha,Y)*s,color); +draw(s,color,render); +draw(rotate(alpha,Y)*s,color,render); draw(p3,blue); diff --git a/Master/texmf/doc/info/asy-faq.info b/Master/texmf/doc/info/asy-faq.info index efd60036acc..1664d59845e 100644 --- a/Master/texmf/doc/info/asy-faq.info +++ b/Master/texmf/doc/info/asy-faq.info @@ -9,7 +9,7 @@ END-INFO-DIR-ENTRY File: $prefix.info, Node: Top, Next: Question 1.1, Up: (dir) ASYMPTOTE FREQUENTLY ASKED QUESTIONS - 06 Jun 2010 + 14 Jun 2010 This is the list of Frequently Asked Questions about Asymptote (asy). diff --git a/Master/texmf/doc/info/asymptote.info b/Master/texmf/doc/info/asymptote.info index b8497480d4c..481694a9d08 100644 --- a/Master/texmf/doc/info/asymptote.info +++ b/Master/texmf/doc/info/asymptote.info @@ -1,7 +1,7 @@ This is asymptote.info, produced by makeinfo version 4.13 from ../asymptote.texi. -This file documents `Asymptote', version 1.96. +This file documents `Asymptote', version 1.98. `http://asymptote.sourceforge.net' @@ -23,7 +23,7 @@ File: asymptote.info, Node: Top, Next: Description, Up: (dir) Asymptote ********* -This file documents `Asymptote', version 1.96. +This file documents `Asymptote', version 1.98. `http://asymptote.sourceforge.net' @@ -3955,10 +3955,9 @@ of type `T[]'. arrays). `T[] array(int n, T value, int depth=intMax)' - returns an array consisting of `n' copies of value. By default, if - `value' is itself an array, a deep copy of that array is made for - each entry in the new array. If `depth' is specified, this deep - copying only recurses to the number of levels specified. + returns an array consisting of `n' deep copies of a 0, 1, or 2 + dimensional array `T value'. If `depth' is specified, this deep + copying recurses to no more than the number of levels specified. `int[] sequence(int n)' if `n >= 1' returns the array `{0,1,...,n-1}' (otherwise returns a @@ -6769,7 +6768,7 @@ There are four choices for viewing 3D `Asymptote' output: (slower) indirect rendering. 3. Embed the 3D PRC format in a PDF file and view the resulting PDF - file with version `8.0' or later of `Adobe Reader'. In addition + file with version `9.0' or later of `Adobe Reader'. In addition to the default `settings.prc=true', this requires `settings.outformat="pdf"', which can be specified by the command line option `-f pdf', put in the `Asymptote' configuration file @@ -7313,7 +7312,7 @@ xaxis3(Label("$x$"),red,Arrow3); yaxis3(Label("$y$"),red,Arrow3); zaxis3(XYZero(extend=true),red,Arrow3); -draw(s,lightgray,meshpen=black+thick(),nolight); +draw(s,lightgray,meshpen=black+thick(),nolight,render(merge=true)); label("$O$",O,-Z+Y,red); @@ -8330,9 +8329,9 @@ which `MetaPost' is based). The authors of `Asymptote' are Andy Hammerlindl, John Bowman, and Tom Prince. Sean Healy designed the `Asymptote' logo. Other -contributors include Radoslav Marinov, Orest Shardt, Chris Savage, -Philippe Ivaldi, Olivier Guibe', Jacques Pienaar, Mark Henning, Steve -Melenchuk, Martin Wiebusch, and Stefan Knorr. +contributors include Michail Vidiassov, Radoslav Marinov, Orest Shardt, +Chris Savage, Philippe Ivaldi, Olivier Guibe', Jacques Pienaar, Mark +Henning, Steve Melenchuk, Martin Wiebusch, and Stefan Knorr. File: asymptote.info, Node: Index, Prev: Credits, Up: Top @@ -8443,11 +8442,11 @@ Index (line 48) * Airy: Mathematical functions. (line 48) -* alias <1>: Arrays. (line 183) +* alias <1>: Arrays. (line 182) * alias: Structures. (line 52) * align: Options. (line 166) * Align: label. (line 12) -* all: Arrays. (line 331) +* all: Arrays. (line 330) * Allow: Pens. (line 327) * AND: Arithmetic & logical. (line 80) @@ -8641,15 +8640,15 @@ Index * colorless: Pens. (line 54) * colors: Pens. (line 51) * comma: Files. (line 58) -* comma-separated-value mode: Arrays. (line 364) +* comma-separated-value mode: Arrays. (line 363) * command-line options <1>: Options. (line 6) * command-line options: Configuring. (line 83) * comment character: Files. (line 15) * compass directions: Tutorial. (line 104) * Compiling from UNIX source: Compiling from UNIX source. (line 6) -* complement: Arrays. (line 150) -* concat: Arrays. (line 179) +* complement: Arrays. (line 149) +* concat: Arrays. (line 178) * conditional <1>: Arithmetic & logical. (line 73) * conditional: Programming. (line 8) @@ -8673,7 +8672,7 @@ Index * convert: Configuring. (line 67) * convertOptions: Options. (line 128) * Coons shading: fill. (line 74) -* copy: Arrays. (line 170) +* copy: Arrays. (line 169) * Cos: Mathematical functions. (line 20) * cos: Mathematical functions. @@ -8687,10 +8686,10 @@ Index * cross: Data types. (line 167) * crossframe: markers. (line 23) * crosshatch: Pens. (line 267) -* csv: Arrays. (line 364) +* csv: Arrays. (line 363) * CTZ: Arithmetic & logical. (line 80) -* cubicroots: Arrays. (line 320) +* cubicroots: Arrays. (line 319) * curl <1>: three. (line 6) * curl: Bezier curves. (line 63) * curlSpecifier: Paths and guides. (line 391) @@ -8731,9 +8730,9 @@ Index * delete <1>: Arrays. (line 39) * delete: Files. (line 145) * description: Description. (line 6) -* diagonal: Arrays. (line 305) +* diagonal: Arrays. (line 304) * diamond: flowchart. (line 57) -* dimension: Arrays. (line 369) +* dimension: Arrays. (line 368) * dir <1>: three. (line 502) * dir <2>: Paths and guides. (line 98) * dir <3>: Data types. (line 85) @@ -8744,7 +8743,7 @@ Index * dirtime: Paths and guides. (line 152) * display: Configuring. (line 67) * do: Programming. (line 29) -* dot <1>: Arrays. (line 261) +* dot <1>: Arrays. (line 260) * dot <2>: Data types. (line 98) * dot: draw. (line 83) * DotMargin: draw. (line 42) @@ -8796,9 +8795,9 @@ Index * EndPoint: label. (line 57) * envelope: Frames and pictures. (line 22) * environment variables: Configuring. (line 87) -* eof <1>: Arrays. (line 346) +* eof <1>: Arrays. (line 345) * eof: Files. (line 88) -* eol <1>: Arrays. (line 346) +* eol <1>: Arrays. (line 345) * eol: Files. (line 88) * EPS <1>: Options. (line 141) * EPS: label. (line 80) @@ -8843,7 +8842,7 @@ Index (line 15) * feynman: feynman. (line 6) * fft <1>: math. (line 26) -* fft: Arrays. (line 248) +* fft: Arrays. (line 247) * FFTW: Compiling from UNIX source. (line 58) * file <1>: Debugger. (line 45) @@ -8857,7 +8856,7 @@ Index * FillDraw: draw. (line 26) * filloutside: fill. (line 27) * fillrule: Pens. (line 152) -* find <1>: Arrays. (line 159) +* find <1>: Arrays. (line 158) * find: Data types. (line 224) * firstcut: Paths and guides. (line 247) * fit: Frames and pictures. (line 103) @@ -8956,7 +8955,7 @@ Index * i_scaled: Mathematical functions. (line 48) * iconic: three. (line 210) -* identity <1>: Arrays. (line 302) +* identity <1>: Arrays. (line 301) * identity <2>: Mathematical functions. (line 6) * identity: Transforms. (line 24) @@ -9009,7 +9008,7 @@ Index * InTicks: graph3. (line 34) * intMax: Data types. (line 28) * intMin: Data types. (line 28) -* inverse <1>: Arrays. (line 308) +* inverse <1>: Arrays. (line 307) * inverse: Transforms. (line 16) * invert: three. (line 422) * invisible: Pens. (line 39) @@ -9068,8 +9067,8 @@ Index * libsigsegv <1>: Help. (line 33) * libsigsegv: Functions. (line 88) * limits: graph. (line 636) -* line: Arrays. (line 346) -* line mode: Arrays. (line 346) +* line: Arrays. (line 345) +* line mode: Arrays. (line 345) * Linear: graph. (line 682) * linecap: Pens. (line 129) * linejoin: Pens. (line 138) @@ -9096,7 +9095,7 @@ Index * MacOS X binary distributions: MacOS X binary distributions. (line 6) * makepen: Pens. (line 300) -* map: Arrays. (line 141) +* map: Arrays. (line 140) * Margin: draw. (line 42) * Margin3: three. (line 559) * margins: three. (line 262) @@ -9112,7 +9111,7 @@ Index * mathematical functions: Mathematical functions. (line 6) * max <1>: three. (line 502) -* max <2>: Arrays. (line 227) +* max <2>: Arrays. (line 226) * max <3>: Frames and pictures. (line 7) * max: Paths and guides. (line 264) * maxbound: Data types. (line 104) @@ -9133,7 +9132,7 @@ Index * midpoint: Paths and guides. (line 166) * MidPoint: label. (line 57) * min <1>: three. (line 502) -* min <2>: Arrays. (line 220) +* min <2>: Arrays. (line 219) * min <3>: Frames and pictures. (line 7) * min: Paths and guides. (line 260) * minbound: Data types. (line 101) @@ -9222,7 +9221,7 @@ Index * packing: Rest arguments. (line 30) * pair <1>: Data types. (line 41) * pair: Tutorial. (line 49) -* pairs: Arrays. (line 244) +* pairs: Arrays. (line 243) * paperheight: Configuring. (line 61) * papertype: Configuring. (line 61) * paperwidth: Configuring. (line 61) @@ -9294,7 +9293,7 @@ Index * public: Structures. (line 6) * push: Arrays. (line 39) * Python usage: Interactive mode. (line 80) -* quadraticroots: Arrays. (line 311) +* quadraticroots: Arrays. (line 310) * quarticroots: math. (line 22) * quit <1>: Debugger. (line 54) * quit <2>: Interactive mode. (line 59) @@ -9314,9 +9313,9 @@ Index (line 39) * randMax: Mathematical functions. (line 39) -* read: Arrays. (line 387) +* read: Arrays. (line 386) * reading: Files. (line 11) -* reading string arrays: Arrays. (line 356) +* reading string arrays: Arrays. (line 355) * readline: Files. (line 130) * real: Data types. (line 33) * realDigits: Data types. (line 33) @@ -9342,7 +9341,7 @@ Index * restricted: Structures. (line 6) * return: Debugger. (line 48) * reverse <1>: three. (line 502) -* reverse <2>: Arrays. (line 146) +* reverse <2>: Arrays. (line 145) * reverse <3>: Paths and guides. (line 169) * reverse: Data types. (line 248) * rewind: Files. (line 88) @@ -9381,7 +9380,7 @@ Index * scaled graph: graph. (line 663) * scientific graph: graph. (line 396) * scroll: Files. (line 104) -* search: Arrays. (line 164) +* search: Arrays. (line 163) * search paths: Search paths. (line 6) * Seascape: Frames and pictures. (line 100) * secondary axis: graph. (line 813) @@ -9394,7 +9393,7 @@ Index * segmentation fault: Help. (line 33) * self operators: Self & prefix operators. (line 6) -* sequence: Arrays. (line 128) +* sequence: Arrays. (line 127) * settings <1>: Options. (line 113) * settings: Configuring. (line 23) * sgn: Mathematical functions. @@ -9440,8 +9439,8 @@ Index * slopefield: slopefield. (line 6) * solid: Pens. (line 95) * solids: solids. (line 9) -* solve: Arrays. (line 280) -* sort: Arrays. (line 186) +* solve: Arrays. (line 279) +* sort: Arrays. (line 185) * Spline <1>: graph3. (line 100) * Spline: graph. (line 34) * split: Data types. (line 261) @@ -9474,7 +9473,7 @@ Index * subpictures: Frames and pictures. (line 103) * substr: Data types. (line 244) * Subversion: Subversion. (line 6) -* sum: Arrays. (line 215) +* sum: Arrays. (line 214) * superpath: Tutorial. (line 132) * Suppress: Pens. (line 331) * SuppressQuiet: Pens. (line 335) @@ -9538,12 +9537,12 @@ Index * transform: Transforms. (line 6) * transform3: three. (line 432) * transparency: Pens. (line 222) -* transpose: Arrays. (line 207) +* transpose: Arrays. (line 206) * tree: tree. (line 9) * trembling: trembling. (line 6) * triangle: geometry. (line 6) * triangulate: contour. (line 157) -* tridiagonal: Arrays. (line 268) +* tridiagonal: Arrays. (line 267) * trigonometric integrals: Mathematical functions. (line 48) * triple: Data types. (line 108) @@ -9559,7 +9558,7 @@ Index * unfill: fill. (line 106) * UnFill: draw. (line 26) * unicode: unicode. (line 6) -* uniform: Arrays. (line 155) +* uniform: Arrays. (line 154) * Uninstall: Uninstall. (line 6) * unique: math. (line 64) * unit: Data types. (line 78) @@ -9590,7 +9589,7 @@ Index (line 6) * vectorfield: graph. (line 975) * vectorfield3: graph3. (line 159) -* vectorization: Arrays. (line 325) +* vectorization: Arrays. (line 324) * verbatim: Frames and pictures. (line 271) * vertex-dependent colors: three. (line 81) * Vertical: flowchart. (line 81) @@ -9607,11 +9606,11 @@ Index * Wheel: palette. (line 22) * wheel mouse: GUI. (line 6) * while: Programming. (line 29) -* white-space string delimiter mode: Arrays. (line 356) +* white-space string delimiter mode: Arrays. (line 355) * width: LaTeX usage. (line 31) * windingnumber: Paths and guides. (line 268) -* word: Arrays. (line 356) -* write <1>: Arrays. (line 396) +* word: Arrays. (line 355) +* write <1>: Arrays. (line 395) * write: Files. (line 50) * X: three. (line 274) * xasy: GUI. (line 6) @@ -9744,80 +9743,80 @@ Node: Named arguments147188 Node: Rest arguments149350 Node: Mathematical functions152160 Node: Arrays156767 -Ref: sort163720 -Ref: tridiagonal166130 -Ref: solve167358 -Node: Slices171551 -Node: Casts175441 -Node: Import177406 -Node: Static182633 -Node: LaTeX usage185527 -Node: Base modules191001 -Node: plain193501 -Node: simplex194153 -Node: math194426 -Node: interpolate197117 -Node: geometry197396 -Node: trembling197990 -Node: stats198341 -Node: patterns198601 -Node: markers198837 -Node: tree200620 -Node: binarytree200808 -Node: drawtree201397 -Node: syzygy201601 -Node: feynman201875 -Node: roundedpath202150 -Node: animation202433 -Ref: animate202850 -Node: embed203989 -Node: slide205778 -Node: MetaPost206118 -Node: unicode206834 -Node: latin1207722 -Node: babel208090 -Node: labelpath208319 -Node: labelpath3209139 -Node: annotate209450 -Node: CAD209921 -Node: graph210231 -Ref: ticks217360 -Ref: pathmarkers230639 -Ref: marker231104 -Ref: markuniform231455 -Ref: errorbars233246 -Ref: automatic scaling237302 -Node: palette247948 -Ref: images248066 -Ref: image252237 -Ref: logimage252715 -Ref: penimage253521 -Node: three253965 -Ref: PostScript3D278507 -Node: obj280199 -Node: graph3280451 -Ref: GaussianSurface285576 -Node: grid3286661 -Node: solids287401 -Node: tube288349 -Node: flowchart290584 -Node: contour295153 -Node: contour3300278 -Node: slopefield300585 -Node: ode302022 -Node: Options302282 -Ref: configuration file308078 -Ref: settings308078 -Ref: convert309279 -Node: Interactive mode312246 -Ref: history314399 -Node: GUI315704 -Node: GUI installation316207 -Node: GUI usage317337 -Node: PostScript to Asymptote318240 -Node: Help318996 -Node: Debugger320732 -Node: Credits322517 -Node: Index323430 +Ref: sort163651 +Ref: tridiagonal166061 +Ref: solve167289 +Node: Slices171482 +Node: Casts175372 +Node: Import177337 +Node: Static182564 +Node: LaTeX usage185458 +Node: Base modules190932 +Node: plain193432 +Node: simplex194084 +Node: math194357 +Node: interpolate197048 +Node: geometry197327 +Node: trembling197921 +Node: stats198272 +Node: patterns198532 +Node: markers198768 +Node: tree200551 +Node: binarytree200739 +Node: drawtree201328 +Node: syzygy201532 +Node: feynman201806 +Node: roundedpath202081 +Node: animation202364 +Ref: animate202781 +Node: embed203920 +Node: slide205709 +Node: MetaPost206049 +Node: unicode206765 +Node: latin1207653 +Node: babel208021 +Node: labelpath208250 +Node: labelpath3209070 +Node: annotate209381 +Node: CAD209852 +Node: graph210162 +Ref: ticks217291 +Ref: pathmarkers230570 +Ref: marker231035 +Ref: markuniform231386 +Ref: errorbars233177 +Ref: automatic scaling237233 +Node: palette247879 +Ref: images247997 +Ref: image252168 +Ref: logimage252646 +Ref: penimage253452 +Node: three253896 +Ref: PostScript3D278438 +Node: obj280130 +Node: graph3280382 +Ref: GaussianSurface285507 +Node: grid3286611 +Node: solids287351 +Node: tube288299 +Node: flowchart290534 +Node: contour295103 +Node: contour3300228 +Node: slopefield300535 +Node: ode301972 +Node: Options302232 +Ref: configuration file308028 +Ref: settings308028 +Ref: convert309229 +Node: Interactive mode312196 +Ref: history314349 +Node: GUI315654 +Node: GUI installation316157 +Node: GUI usage317287 +Node: PostScript to Asymptote318190 +Node: Help318946 +Node: Debugger320682 +Node: Credits322467 +Node: Index323399 End Tag Table diff --git a/Master/texmf/doc/man/man1/asy.man1.pdf b/Master/texmf/doc/man/man1/asy.man1.pdf Binary files differindex 828913944e0..a86ed83a3ab 100644 --- a/Master/texmf/doc/man/man1/asy.man1.pdf +++ b/Master/texmf/doc/man/man1/asy.man1.pdf diff --git a/Master/tlpkg/asymptote/asy.exe b/Master/tlpkg/asymptote/asy.exe Binary files differindex c72517c1b55..ec8e0b97035 100755 --- a/Master/tlpkg/asymptote/asy.exe +++ b/Master/tlpkg/asymptote/asy.exe diff --git a/Master/tlpkg/bin/tl-update-asy b/Master/tlpkg/bin/tl-update-asy index 92512e79b8e..0f73e2cab4f 100755 --- a/Master/tlpkg/bin/tl-update-asy +++ b/Master/tlpkg/bin/tl-update-asy @@ -14,14 +14,14 @@ test "x$1" = x--build || exit 1 -ver=1.94 # the new version, that is. +ver=... # the newly-released version # if false && $update_sources_from_ctan; then # this part is about copying the sources from CTAN to TL. cd $B/source/utils/ edit README for asymptote$ver - (cd asymptote && make distclean && sat) # be sure no dregs + (cd asymptote && make distclean; sup && sat) # be sure no dregs \cp -arf /home/ftp/tex-archive/graphics/asymptote/ . cd asymptote |