From dc9c863f3a7b967478c04dbf3eb5ab3e2af7aefb Mon Sep 17 00:00:00 2001 From: nicopietroni Date: Thu, 3 Jun 2004 09:11:35 +0000 Subject: [PATCH] changen wire and hiddenlines draw modes --- wrap/gl/glwraptetra.h | 44 +++++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/wrap/gl/glwraptetra.h b/wrap/gl/glwraptetra.h index f95aced9..f4a5f769 100644 --- a/wrap/gl/glwraptetra.h +++ b/wrap/gl/glwraptetra.h @@ -53,7 +53,7 @@ public: case DMSmallTetra: _DrawSmallTetra();break; case DMFlat:_DrawSurface();break; case DMWire:_DrawSurface();break; - case DMHidden:break;//DrawSurface();break; + case DMHidden:_DrawSurface();break; case DMFlatWire:_DrawFlatWire(); break; case DMTransparent:break; } @@ -96,36 +96,48 @@ void _DrawSurface(){ CONT_TETRA::iterator it; glPushAttrib(0xffffffff); - glEnable(GL_LIGHTING); - glEnable(GL_NORMALIZE); - if(dm == DMWire) + + if((dm == DMWire)||(dm ==DMHidden)) + { + glDisable(GL_LIGHTING); + glDisable(GL_NORMALIZE); glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); + } else + { + glEnable(GL_LIGHTING); + glEnable(GL_NORMALIZE); glPolygonMode(GL_FRONT,GL_FILL); + } glBegin(GL_TRIANGLES); for( it = tetra.begin(); it != tetra.end(); ++it) - _DrawTetra((*it)); + _DrawTetra((*it)); glEnd(); glPopAttrib(); } -template +template void _DrawTetra(TetraType &t) { if(!(t.IsD())) { _ChooseColorTetra(t); - for(int i = 0; i < 4; ++i){ - if(t.IsBorderF(i)) - { - if(nm==NMSmooth) - _DrawFaceSmooth(t,i); - else - if(nm==NMFlat) - _DrawFace(t,i); - } - } + for(int i = 0; i < 4; ++i){ + if (dm == DMWire) + _DrawFace(t,i); + else + { + if (t.IsBorderF(i)) + { + if(nm==NMSmooth) + _DrawFaceSmooth(t,i); + else + if(nm==NMFlat) + _DrawFace(t,i); + } + } + } } }