summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/runpicture.in
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-06-08 13:46:05 +0000
committerKarl Berry <karl@freefriends.org>2010-06-08 13:46:05 +0000
commita960e44eb527236f39aec81babc0474911a86078 (patch)
tree9950eca71791d90820a80a521a7cc252c0955db5 /Build/source/utils/asymptote/runpicture.in
parent6443467452320c296faa1f43f0606a9457bd4463 (diff)
asy 1.96
git-svn-id: svn://tug.org/texlive/trunk@18817 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/runpicture.in')
-rw-r--r--Build/source/utils/asymptote/runpicture.in71
1 files changed, 57 insertions, 14 deletions
diff --git a/Build/source/utils/asymptote/runpicture.in b/Build/source/utils/asymptote/runpicture.in
index d5a7b32b618..710aa3e2e32 100644
--- a/Build/source/utils/asymptote/runpicture.in
+++ b/Build/source/utils/asymptote/runpicture.in
@@ -86,6 +86,8 @@ array *nop(array *a)
return a;
}
+triple Zero;
+
// Autogenerated routines:
@@ -244,9 +246,9 @@ void grestore(picture *f)
f->append(new drawGrestore());
}
-void begingroup(picture *f, string name=emptystring)
+void begingroup(picture *f)
{
- f->append(new drawBegin(name));
+ f->append(new drawBegin());
}
void endgroup(picture *f)
@@ -254,6 +256,20 @@ void endgroup(picture *f)
f->append(new drawEnd());
}
+void _begingroup3(picture *f, string name, real compression,
+ real granularity, bool closed, bool tessellate,
+ bool dobreak, bool nobreak, triple center, Int interaction)
+{
+ f->append(new drawBegin3(name,compression,granularity,
+ closed,tessellate,dobreak,nobreak,
+ center,(Interaction) intcast(interaction)));
+}
+
+void endgroup3(picture *f)
+{
+ f->append(new drawEnd3());
+}
+
void add(picture *dest, picture *src)
{
dest->add(*src);
@@ -561,38 +577,65 @@ void deconstruct(picture *f, picture *preamble=NULL, real magnification=1,
// Three-dimensional picture and surface operations
// Bezier curve
-void _draw(picture *f, path3 g, pen p, string name=emptystring)
+void _draw(picture *f, path3 g, pen p)
{
if(g.size() > 0)
- f->append(new drawPath3(g,p,name));
+ f->append(new drawPath3(g,p));
}
// Bezier patch
void draw(picture *f, triplearray2 *P, triple center, bool straight,
penarray *p, real opacity, real shininess, real PRCshininess,
- real granularity, triple normal, penarray *colors, bool lighton,
- string name=emptystring, Int interaction)
+ triple normal, penarray *colors, bool lighton,
+ Int interaction, bool prc=true)
{
f->append(new drawSurface(*P,center,straight,*p,opacity,shininess,
- PRCshininess,granularity,normal,*colors,lighton,
- name,interaction));
+ PRCshininess,normal,*colors,lighton,
+ (Interaction) intcast(interaction),prc));
}
// General NURBS curve
void draw(picture *f, triplearray *P, realarray *knot,
- realarray *weights=emptyarray, pen p, string name=emptystring)
+ realarray *weights=emptyarray, pen p)
{
- f->append(new drawNurbsPath3(*P,knot,weights,p,name));
+ f->append(new drawNurbsPath3(*P,knot,weights,p));
}
// General NURBS surface
void draw(picture *f, triplearray2 *P, realarray *uknot, realarray *vknot,
- realarray2 *weights=emptyarray, penarray *p,
- real opacity, real shininess, real PRCshininess, real granularity,
- penarray *colors, bool lighton, string name=emptystring)
+ realarray2 *weights=emptyarray, penarray *p, real opacity,
+ real shininess, real PRCshininess, penarray *colors, bool lighton)
{
f->append(new drawNurbs(*P,uknot,vknot,weights,*p,opacity,shininess,
- PRCshininess,granularity,*colors,lighton,name));
+ PRCshininess,*colors,lighton));
+}
+
+// PRC unit sphere
+void drawPRCsphere(picture *f, realarray2 *t, bool half=false, penarray *p,
+ real opacity, real shininess, Int type)
+{
+ f->append(new drawSphere(*t,half,*p,opacity,shininess,intcast(type)));
+}
+
+// PRC unit cylinder
+void drawPRCcylinder(picture *f, realarray2 *t, penarray *p, real opacity,
+ real shininess)
+{
+ f->append(new drawCylinder(*t,*p,opacity,shininess));
+}
+
+// PRC unit disk
+void drawPRCdisk(picture *f, realarray2 *t, penarray *p, real opacity,
+ real shininess)
+{
+ f->append(new drawDisk(*t,*p,opacity,shininess));
+}
+
+// General PRC tube
+void drawPRCtube(picture *f, path3 center, path3 g, penarray *p, real opacity,
+ real shininess)
+{
+ f->append(new drawTube(center,g,*p,opacity,shininess));
}
triple min3(picture *f)