diff options
Diffstat (limited to 'Build/source/utils/asymptote/runpicture.in')
-rw-r--r-- | Build/source/utils/asymptote/runpicture.in | 26 |
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(); |