summaryrefslogtreecommitdiff
path: root/Master/texmf/asymptote/three_surface.asy
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-06-14 23:55:19 +0000
committerKarl Berry <karl@freefriends.org>2010-06-14 23:55:19 +0000
commitda1f4b4b53c65c7dc07081018a7f7c2fa991978f (patch)
treef5fb25e25602c508ab97092d59963a28d9c4efb8 /Master/texmf/asymptote/three_surface.asy
parent68651406885f7b6aa9838a395237fd51a127e99f (diff)
asymptote 1.98
git-svn-id: svn://tug.org/texlive/trunk@18984 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf/asymptote/three_surface.asy')
-rw-r--r--Master/texmf/asymptote/three_surface.asy17
1 files changed, 13 insertions, 4 deletions
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) {