File: helix.py

package info (click to toggle)
pyopengl 2.0.1.08-5.1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 19,484 kB
  • ctags: 9,036
  • sloc: pascal: 64,950; xml: 28,088; ansic: 20,696; python: 19,761; tcl: 668; makefile: 240; sh: 25
file content (55 lines) | stat: -rw-r--r-- 1,392 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLE import *
import items


class item(items.item):

	def __init__(self):
		items.item.__init__(self)

		glEnable(GL_DEPTH_TEST)
		glEnable(GL_COLOR_MATERIAL)
		glEnable(GL_LIGHTING)

		glEnable(GL_LIGHT0)
		glLightfv(GL_LIGHT0, GL_POSITION, (40.0, 40, 100.0, 0.0))
		glLightfv(GL_LIGHT0, GL_DIFFUSE, (0.99, 0.99, 0.99, 1.0))

		glEnable(GL_LIGHT1)
		glLightfv(GL_LIGHT1, GL_POSITION, (-40.0, 40, 100.0, 0.0))
		glLightfv(GL_LIGHT1, GL_DIFFUSE, (0.99, 0.99, 0.99, 1.0))

		glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE)

		gleSetJoinStyle(TUBE_NORM_EDGE | TUBE_JN_ANGLE | TUBE_JN_CAP)
		

	def __del__(self):
		glDisable(GL_DEPTH_TEST)
		glDisable(GL_COLOR_MATERIAL)	
		glDisable(GL_LIGHTING)

		glDisable(GL_LIGHT0)
		glLightfv (GL_LIGHT0, GL_POSITION, (0, 0, 1, 0))
		glLightfv (GL_LIGHT0, GL_DIFFUSE, (1, 1, 1, 1))

		glDisable(GL_LIGHT1)
		glLightfv (GL_LIGHT1, GL_POSITION, (0, 0, 1, 0))
		glLightfv (GL_LIGHT1, GL_DIFFUSE, (0, 0, 0, 0))

		glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE)


	def on_reshape(self, width, height):
		items.item.on_reshape(self, width, height)		
		glTranslatef (0.0, 0.0, -40.0)


	def on_display(self):
		items.item.on_display(self)
		
		glColor3f(0.6, 0.8, 0.3)
		gleHelicoid(1.0, 6.0, 2.0, -3.0, 4.0, None, None, 0.0, 1080.0)