root/trunk/RBRapier/RBRapier/Renderer/View/ClippingPlane.py

Revision 702, 2.0 kB (checked in by sholloway, 5 years ago)

Added GL prefix to Execute/Select/Deselect

Line 
1 #!/usr/bin/env python
2 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 ##~ License
4 ##~
5 ##- The RuneBlade Foundation library is intended to ease some
6 ##- aspects of writing intricate Jabber, XML, and User Interface (wxPython, etc.)
7 ##- applications, while providing the flexibility to modularly change the
8 ##- architecture. Enjoy.
9 ##~
10 ##~ Copyright (C) 2002  TechGame Networks, LLC.
11 ##~
12 ##~ This library is free software; you can redistribute it and/or
13 ##~ modify it under the terms of the BSD style License as found in the
14 ##~ LICENSE file included with this distribution.
15 ##~
16 ##~ TechGame Networks, LLC can be reached at:
17 ##~ 3578 E. Hartsel Drive #211
18 ##~ Colorado Springs, Colorado, USA, 80920
19 ##~
20 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21
22 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23 #~ Imports
24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25
26 from OpenGL import GL
27 from RBRapier.Renderer.AttributeMgr import AttributeChangeElement
28 from RBRapier.Tools import Vector
29
30 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31 #~ Definitions
32 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33
34 class ClippingPlane(object):
35     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36     #~ Constants / Variables / Etc.
37     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38
39     AttributeChange = AttributeChangeElement(GL.GL_TRANSFORM_BIT)
40
41     PlaneNumber = 0
42     Equation = Vector.Vector4Property('Equation')
43
44     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
45     #~ Public Methods
46     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47
48     def __init__(self, PlaneNumber=0, Equation=None):
49         self.PlaneNumber = PlaneNumber
50         if Equation is not None:
51             self.Equation = Equation
52
53     def GLSelect(self, context):
54         PlaneIdx = GL.GL_CLIP_PLANE0 + self.PlaneNumber
55         GL.glClipPlane(PlaneIdx, self.Equation.tolist())
56         context.StateMgr.Enable(PlaneIdx)
57        
58     def GLDeselect(self, context):
59         PlaneIdx = GL.GL_CLIP_PLANE0 + self.PlaneNumber
60         context.StateMgr.Disable(PlaneIdx)
61
Note: See TracBrowser for help on using the browser.