From 0a414e9c571e798fd24be3e88ac13d03e332c0ce Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 29 Feb 2024 23:33:33 +0000 Subject: asymptote 2.87 support files, windows binary git-svn-id: svn://tug.org/texlive/trunk@70267 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/asymptote/graph3.asy | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'Master/texmf-dist/asymptote/graph3.asy') diff --git a/Master/texmf-dist/asymptote/graph3.asy b/Master/texmf-dist/asymptote/graph3.asy index f17b4e97074..b9b872f4511 100644 --- a/Master/texmf-dist/asymptote/graph3.asy +++ b/Master/texmf-dist/asymptote/graph3.asy @@ -1880,6 +1880,27 @@ surface surface(picture pic=currentpicture, real[][] f, real[] x, real[] y, splinetype ysplinetype=xsplinetype, bool[][] cond={}) { + if(xsplinetype == linear && ysplinetype == linear) { + int nx=f.length-1; + int ny=nx > 0 ? f[0].length-1 : 0; + + if(nx == 0 || ny == 0) return nullsurface; + + bool all=cond.length == 0; + + triple[][] v=new triple[nx+1][ny+1]; + + for(int i=0; i <= nx; ++i) { + bool[] condi=all ? null : cond[i]; + real xi=x[i]; + real[] fi=f[i]; + triple[] vi=v[i]; + for(int j=0; j <= ny; ++j) + vi[j]=(xi,y[j],fi[j]); + } + return surface(pic,v,cond); + } + real[][] f=ScaleZ(pic,f); real[] x=map(pic.scale.x.T,x); real[] y=map(pic.scale.y.T,y); -- cgit v1.2.3