summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/runpicture.in
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/asymptote/runpicture.in')
-rw-r--r--Build/source/utils/asymptote/runpicture.in26
1 files changed, 19 insertions, 7 deletions
diff --git a/Build/source/utils/asymptote/runpicture.in b/Build/source/utils/asymptote/runpicture.in
index cfbe9cbf2b2..872d557071f 100644
--- a/Build/source/utils/asymptote/runpicture.in
+++ b/Build/source/utils/asymptote/runpicture.in
@@ -12,6 +12,7 @@ path => primPath()
path3 => primPath3()
picture* => primPicture()
Intarray* => IntArray()
+Intarray2* => IntArray2()
realarray* => realArray()
realarray2* => realArray2()
patharray* => pathArray()
@@ -49,6 +50,7 @@ using namespace settings;
using namespace vm;
typedef array Intarray;
+typedef array Intarray2;
typedef array realarray;
typedef array realarray2;
typedef array pairarray;
@@ -63,6 +65,7 @@ typedef callable callableTransform;
typedef callable callablePen;
using types::IntArray;
+using types::IntArray2;
using types::realArray;
using types::realArray2;
using types::pairArray;
@@ -466,9 +469,9 @@ void shipout3(string prefix, picture *f, string format=emptystring,
delete[] T;
}
-void shipout3(string prefix, picture *f, Intarray *index, triplearray *center)
+void shipout3(string prefix, picture *f)
{
- f->shipout3(prefix,index,center);
+ f->shipout3(prefix);
}
void deconstruct(picture *f, picture *preamble=NULL, real magnification=1,
@@ -614,11 +617,10 @@ void _draw(picture *f, path3 g, triple center=Zero, pen p, Int interaction=0)
// Bezier patch
void draw(picture *f, triplearray2 *P, triple center, bool straight,
penarray *p, real opacity, real shininess, real PRCshininess,
- triple normal, penarray *colors, bool lighton,
- Int interaction, bool prc=true)
+ triple normal, penarray *colors, Int interaction, bool prc=true)
{
f->append(new drawSurface(*P,center,straight,*p,opacity,shininess,
- PRCshininess,normal,*colors,lighton,
+ PRCshininess,normal,*colors,
(Interaction) intcast(interaction),prc));
}
@@ -632,10 +634,10 @@ void draw(picture *f, triplearray *P, realarray *knot,
// General NURBS surface
void draw(picture *f, triplearray2 *P, realarray *uknot, realarray *vknot,
realarray2 *weights=emptyarray, penarray *p, real opacity,
- real shininess, real PRCshininess, penarray *colors, bool lighton)
+ real shininess, real PRCshininess, penarray *colors)
{
f->append(new drawNurbs(*P,uknot,vknot,weights,*p,opacity,shininess,
- PRCshininess,*colors,lighton));
+ PRCshininess,*colors));
}
// PRC unit sphere
@@ -672,6 +674,16 @@ void drawpixel(picture *f, triple v, pen p, real width=1.0)
f->append(new drawPixel(v,p,width));
}
+// Draw triangles
+void draw(picture *f, triplearray *v, Intarray2 *vi,
+ triplearray *n, Intarray2 *ni,
+ penarray *p, real opacity, real shininess, real PRCshininess,
+ penarray *c=emptyarray, Intarray2 *ci=emptyarray)
+{
+ f->append(new drawTriangles(*v,*vi,*n,*ni,*p,opacity,shininess,PRCshininess,
+ *c,*ci));
+}
+
triple min3(picture *f)
{
return f->bounds3().Min();