diff --git a/py_tutorials/csg_first_example.py b/py_tutorials/csg_first_example.py index b8c95da6..5e42101a 100644 --- a/py_tutorials/csg_first_example.py +++ b/py_tutorials/csg_first_example.py @@ -1,12 +1,20 @@ from netgen.csg import * import netgen.meshing as meshing +from OpenGL.GL import * +from OpenGL.GLU import * +from OpenGL.GLUT import * -sp1 = Sphere (Point3d(1,0,0), 1) -sp2 = Sphere (Point3d(2,0,0), 1) -both = Or(sp1, sp2) -all = And (both, OrthoBrick ( Point3d(0,0,0), Point3d (3,0.5,1))) + +sp1 = Sphere (Pnt(0,0,0), 0.2) +sp2 = Sphere (Pnt(0.5,0,0), 0.2) +sp3 = Sphere (Pnt(0,0,0.5), 0.2) +sp4 = Sphere (Pnt(0,0.2,0.7), 0.2) +sp5 = Sphere (Pnt(0,0,0.3), 0.2) + + +all = sp1+sp2+sp3+sp4+sp5 geom = CSGeometry() @@ -14,7 +22,57 @@ geom.Add (all) vis = VS(geom) -vis.Draw() +# vis.Draw() + + +window = 0 # glut window number +width, height = 500, 500 + + + +def mydraw(): + + glViewport(0, 0, width, height); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + + pnear = 0.1; + pfar = 10; + + gluPerspective(20.0, 1.0*width / height, pnear, pfar); + glMatrixMode(GL_MODELVIEW); + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) +# glLoadIdentity() +# gluLookAt (0, 0, 6, 0, 0, 0, 0, 1, 0); + +## glBegin(GL_QUADS) +## glColor4d(0.0, 1.0, 0.0, 0.0); +## glVertex3d(0.0,0.0,0.7) +## glVertex3d(1.0,0.0,2.1) +## glColor4d(1.0, 1.0, 1.0, 0.0); +## glVertex3d(1.0,1.0,0.2) +## glVertex3d(0.0,1.0,0.5) +## glEnd() + + vis.Draw() + + glutSwapBuffers() + + + + + +glutInit("mainwin") # initialize glut +glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH) +glutInitWindowSize(width, height) # set window size +glutInitWindowPosition(0, 0) # set window position +window = glutCreateWindow(b"ngs") # create window with title +#glutDisplayFunc(vis.Draw) # set draw function callback +glutIdleFunc(mydraw) # draw all the time +glutMainLoop() + # param = meshing.MeshingParameters(maxh=0.2) diff --git a/py_tutorials/opengl.py b/py_tutorials/opengl.py index d2238228..c5fad7b6 100644 --- a/py_tutorials/opengl.py +++ b/py_tutorials/opengl.py @@ -31,35 +31,10 @@ width, height = 500, 500 def mydraw(): - - glViewport(0, 0, width, height); - - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - - pnear = 0.1; - pfar = 10; - - gluPerspective(20.0, 1.0*width / height, pnear, pfar); - glMatrixMode(GL_MODELVIEW); - - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) -# glLoadIdentity() -# gluLookAt (0, 0, 6, 0, 0, 0, 0, 1, 0); - -## glBegin(GL_QUADS) -## glColor4d(0.0, 1.0, 0.0, 0.0); -## glVertex3d(0.0,0.0,0.7) -## glVertex3d(1.0,0.0,2.1) -## glColor4d(1.0, 1.0, 1.0, 0.0); -## glVertex3d(1.0,1.0,0.2) -## glVertex3d(0.0,1.0,0.5) -## glEnd() - vis.Draw() - glutSwapBuffers() + xold = -1; yold = -1; mode = 'r' @@ -69,6 +44,7 @@ def myMotionHandler( x, y ): MouseMove(vis,xold,yold, x,y, mode) # 'm','z' xold = x yold = y + mydraw() def myPassiveMotionHandler( x, y ): global xold, yold @@ -92,11 +68,25 @@ glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH) glutInitWindowSize(width, height) # set window size glutInitWindowPosition(0, 0) # set window position window = glutCreateWindow(b"ngs") # create window with title + glutMotionFunc(myMotionHandler) glutMouseFunc(myMouseHandler) glutPassiveMotionFunc(myPassiveMotionHandler) glutDisplayFunc(mydraw) # set draw function callback -glutIdleFunc(mydraw) # draw all the time +# glutIdleFunc(mydraw) # draw all the time + + + +glMatrixMode(GL_PROJECTION); +glLoadIdentity(); +pnear = 0.1; +pfar = 10; +gluPerspective(20.0, 1.0*width / height, pnear, pfar); +glViewport(0, 0, width, height); +glMatrixMode(GL_MODELVIEW); + + + glutMainLoop()