# BEGIN GENERATED CONTENT (do not edit below this line)

# This content is generated by gengl.py.
# Wrapper for /usr/include/GL/glu.h
from OpenGL import platform
from OpenGL.constants import *
from OpenGL.constant import Constant
from OpenGL.arrays.arraydatatype import *
from ctypes import *
c_void = None


GLU_EXT_object_space_tess=Constant( 'GLU_EXT_object_space_tess', 1 )
GLU_EXT_nurbs_tessellator=Constant( 'GLU_EXT_nurbs_tessellator', 1 )
GLU_FALSE=Constant( 'GLU_FALSE', 0 )
GLU_TRUE=Constant( 'GLU_TRUE', 1 )
GLU_VERSION_1_1=Constant( 'GLU_VERSION_1_1', 1 )
GLU_VERSION_1_2=Constant( 'GLU_VERSION_1_2', 1 )
GLU_VERSION_1_3=Constant( 'GLU_VERSION_1_3', 1 )
GLU_VERSION=Constant( 'GLU_VERSION', 100800 )
GLU_EXTENSIONS=Constant( 'GLU_EXTENSIONS', 100801 )
GLU_INVALID_ENUM=Constant( 'GLU_INVALID_ENUM', 100900 )
GLU_INVALID_VALUE=Constant( 'GLU_INVALID_VALUE', 100901 )
GLU_OUT_OF_MEMORY=Constant( 'GLU_OUT_OF_MEMORY', 100902 )
GLU_INCOMPATIBLE_GL_VERSION=Constant( 'GLU_INCOMPATIBLE_GL_VERSION', 100903 )
GLU_INVALID_OPERATION=Constant( 'GLU_INVALID_OPERATION', 100904 )
GLU_OUTLINE_POLYGON=Constant( 'GLU_OUTLINE_POLYGON', 100240 )
GLU_OUTLINE_PATCH=Constant( 'GLU_OUTLINE_PATCH', 100241 )
GLU_NURBS_ERROR=Constant( 'GLU_NURBS_ERROR', 100103 )
GLU_ERROR=Constant( 'GLU_ERROR', 100103 )
GLU_NURBS_BEGIN=Constant( 'GLU_NURBS_BEGIN', 100164 )
GLU_NURBS_BEGIN_EXT=Constant( 'GLU_NURBS_BEGIN_EXT', 100164 )
GLU_NURBS_VERTEX=Constant( 'GLU_NURBS_VERTEX', 100165 )
GLU_NURBS_VERTEX_EXT=Constant( 'GLU_NURBS_VERTEX_EXT', 100165 )
GLU_NURBS_NORMAL=Constant( 'GLU_NURBS_NORMAL', 100166 )
GLU_NURBS_NORMAL_EXT=Constant( 'GLU_NURBS_NORMAL_EXT', 100166 )
GLU_NURBS_COLOR=Constant( 'GLU_NURBS_COLOR', 100167 )
GLU_NURBS_COLOR_EXT=Constant( 'GLU_NURBS_COLOR_EXT', 100167 )
GLU_NURBS_TEXTURE_COORD=Constant( 'GLU_NURBS_TEXTURE_COORD', 100168 )
GLU_NURBS_TEX_COORD_EXT=Constant( 'GLU_NURBS_TEX_COORD_EXT', 100168 )
GLU_NURBS_END=Constant( 'GLU_NURBS_END', 100169 )
GLU_NURBS_END_EXT=Constant( 'GLU_NURBS_END_EXT', 100169 )
GLU_NURBS_BEGIN_DATA=Constant( 'GLU_NURBS_BEGIN_DATA', 100170 )
GLU_NURBS_BEGIN_DATA_EXT=Constant( 'GLU_NURBS_BEGIN_DATA_EXT', 100170 )
GLU_NURBS_VERTEX_DATA=Constant( 'GLU_NURBS_VERTEX_DATA', 100171 )
GLU_NURBS_VERTEX_DATA_EXT=Constant( 'GLU_NURBS_VERTEX_DATA_EXT', 100171 )
GLU_NURBS_NORMAL_DATA=Constant( 'GLU_NURBS_NORMAL_DATA', 100172 )
GLU_NURBS_NORMAL_DATA_EXT=Constant( 'GLU_NURBS_NORMAL_DATA_EXT', 100172 )
GLU_NURBS_COLOR_DATA=Constant( 'GLU_NURBS_COLOR_DATA', 100173 )
GLU_NURBS_COLOR_DATA_EXT=Constant( 'GLU_NURBS_COLOR_DATA_EXT', 100173 )
GLU_NURBS_TEXTURE_COORD_DATA=Constant( 'GLU_NURBS_TEXTURE_COORD_DATA', 100174 )
GLU_NURBS_TEX_COORD_DATA_EXT=Constant( 'GLU_NURBS_TEX_COORD_DATA_EXT', 100174 )
GLU_NURBS_END_DATA=Constant( 'GLU_NURBS_END_DATA', 100175 )
GLU_NURBS_END_DATA_EXT=Constant( 'GLU_NURBS_END_DATA_EXT', 100175 )
GLU_NURBS_ERROR1=Constant( 'GLU_NURBS_ERROR1', 100251 )
GLU_NURBS_ERROR2=Constant( 'GLU_NURBS_ERROR2', 100252 )
GLU_NURBS_ERROR3=Constant( 'GLU_NURBS_ERROR3', 100253 )
GLU_NURBS_ERROR4=Constant( 'GLU_NURBS_ERROR4', 100254 )
GLU_NURBS_ERROR5=Constant( 'GLU_NURBS_ERROR5', 100255 )
GLU_NURBS_ERROR6=Constant( 'GLU_NURBS_ERROR6', 100256 )
GLU_NURBS_ERROR7=Constant( 'GLU_NURBS_ERROR7', 100257 )
GLU_NURBS_ERROR8=Constant( 'GLU_NURBS_ERROR8', 100258 )
GLU_NURBS_ERROR9=Constant( 'GLU_NURBS_ERROR9', 100259 )
GLU_NURBS_ERROR10=Constant( 'GLU_NURBS_ERROR10', 100260 )
GLU_NURBS_ERROR11=Constant( 'GLU_NURBS_ERROR11', 100261 )
GLU_NURBS_ERROR12=Constant( 'GLU_NURBS_ERROR12', 100262 )
GLU_NURBS_ERROR13=Constant( 'GLU_NURBS_ERROR13', 100263 )
GLU_NURBS_ERROR14=Constant( 'GLU_NURBS_ERROR14', 100264 )
GLU_NURBS_ERROR15=Constant( 'GLU_NURBS_ERROR15', 100265 )
GLU_NURBS_ERROR16=Constant( 'GLU_NURBS_ERROR16', 100266 )
GLU_NURBS_ERROR17=Constant( 'GLU_NURBS_ERROR17', 100267 )
GLU_NURBS_ERROR18=Constant( 'GLU_NURBS_ERROR18', 100268 )
GLU_NURBS_ERROR19=Constant( 'GLU_NURBS_ERROR19', 100269 )
GLU_NURBS_ERROR20=Constant( 'GLU_NURBS_ERROR20', 100270 )
GLU_NURBS_ERROR21=Constant( 'GLU_NURBS_ERROR21', 100271 )
GLU_NURBS_ERROR22=Constant( 'GLU_NURBS_ERROR22', 100272 )
GLU_NURBS_ERROR23=Constant( 'GLU_NURBS_ERROR23', 100273 )
GLU_NURBS_ERROR24=Constant( 'GLU_NURBS_ERROR24', 100274 )
GLU_NURBS_ERROR25=Constant( 'GLU_NURBS_ERROR25', 100275 )
GLU_NURBS_ERROR26=Constant( 'GLU_NURBS_ERROR26', 100276 )
GLU_NURBS_ERROR27=Constant( 'GLU_NURBS_ERROR27', 100277 )
GLU_NURBS_ERROR28=Constant( 'GLU_NURBS_ERROR28', 100278 )
GLU_NURBS_ERROR29=Constant( 'GLU_NURBS_ERROR29', 100279 )
GLU_NURBS_ERROR30=Constant( 'GLU_NURBS_ERROR30', 100280 )
GLU_NURBS_ERROR31=Constant( 'GLU_NURBS_ERROR31', 100281 )
GLU_NURBS_ERROR32=Constant( 'GLU_NURBS_ERROR32', 100282 )
GLU_NURBS_ERROR33=Constant( 'GLU_NURBS_ERROR33', 100283 )
GLU_NURBS_ERROR34=Constant( 'GLU_NURBS_ERROR34', 100284 )
GLU_NURBS_ERROR35=Constant( 'GLU_NURBS_ERROR35', 100285 )
GLU_NURBS_ERROR36=Constant( 'GLU_NURBS_ERROR36', 100286 )
GLU_NURBS_ERROR37=Constant( 'GLU_NURBS_ERROR37', 100287 )
GLU_AUTO_LOAD_MATRIX=Constant( 'GLU_AUTO_LOAD_MATRIX', 100200 )
GLU_CULLING=Constant( 'GLU_CULLING', 100201 )
GLU_SAMPLING_TOLERANCE=Constant( 'GLU_SAMPLING_TOLERANCE', 100203 )
GLU_DISPLAY_MODE=Constant( 'GLU_DISPLAY_MODE', 100204 )
GLU_PARAMETRIC_TOLERANCE=Constant( 'GLU_PARAMETRIC_TOLERANCE', 100202 )
GLU_SAMPLING_METHOD=Constant( 'GLU_SAMPLING_METHOD', 100205 )
GLU_U_STEP=Constant( 'GLU_U_STEP', 100206 )
GLU_V_STEP=Constant( 'GLU_V_STEP', 100207 )
GLU_NURBS_MODE=Constant( 'GLU_NURBS_MODE', 100160 )
GLU_NURBS_MODE_EXT=Constant( 'GLU_NURBS_MODE_EXT', 100160 )
GLU_NURBS_TESSELLATOR=Constant( 'GLU_NURBS_TESSELLATOR', 100161 )
GLU_NURBS_TESSELLATOR_EXT=Constant( 'GLU_NURBS_TESSELLATOR_EXT', 100161 )
GLU_NURBS_RENDERER=Constant( 'GLU_NURBS_RENDERER', 100162 )
GLU_NURBS_RENDERER_EXT=Constant( 'GLU_NURBS_RENDERER_EXT', 100162 )
GLU_OBJECT_PARAMETRIC_ERROR=Constant( 'GLU_OBJECT_PARAMETRIC_ERROR', 100208 )
GLU_OBJECT_PARAMETRIC_ERROR_EXT=Constant( 'GLU_OBJECT_PARAMETRIC_ERROR_EXT', 100208 )
GLU_OBJECT_PATH_LENGTH=Constant( 'GLU_OBJECT_PATH_LENGTH', 100209 )
GLU_OBJECT_PATH_LENGTH_EXT=Constant( 'GLU_OBJECT_PATH_LENGTH_EXT', 100209 )
GLU_PATH_LENGTH=Constant( 'GLU_PATH_LENGTH', 100215 )
GLU_PARAMETRIC_ERROR=Constant( 'GLU_PARAMETRIC_ERROR', 100216 )
GLU_DOMAIN_DISTANCE=Constant( 'GLU_DOMAIN_DISTANCE', 100217 )
GLU_MAP1_TRIM_2=Constant( 'GLU_MAP1_TRIM_2', 100210 )
GLU_MAP1_TRIM_3=Constant( 'GLU_MAP1_TRIM_3', 100211 )
GLU_POINT=Constant( 'GLU_POINT', 100010 )
GLU_LINE=Constant( 'GLU_LINE', 100011 )
GLU_FILL=Constant( 'GLU_FILL', 100012 )
GLU_SILHOUETTE=Constant( 'GLU_SILHOUETTE', 100013 )
GLU_SMOOTH=Constant( 'GLU_SMOOTH', 100000 )
GLU_FLAT=Constant( 'GLU_FLAT', 100001 )
GLU_NONE=Constant( 'GLU_NONE', 100002 )
GLU_OUTSIDE=Constant( 'GLU_OUTSIDE', 100020 )
GLU_INSIDE=Constant( 'GLU_INSIDE', 100021 )
GLU_TESS_BEGIN=Constant( 'GLU_TESS_BEGIN', 100100 )
GLU_BEGIN=Constant( 'GLU_BEGIN', 100100 )
GLU_TESS_VERTEX=Constant( 'GLU_TESS_VERTEX', 100101 )
GLU_VERTEX=Constant( 'GLU_VERTEX', 100101 )
GLU_TESS_END=Constant( 'GLU_TESS_END', 100102 )
GLU_END=Constant( 'GLU_END', 100102 )
GLU_TESS_ERROR=Constant( 'GLU_TESS_ERROR', 100103 )
GLU_TESS_EDGE_FLAG=Constant( 'GLU_TESS_EDGE_FLAG', 100104 )
GLU_EDGE_FLAG=Constant( 'GLU_EDGE_FLAG', 100104 )
GLU_TESS_COMBINE=Constant( 'GLU_TESS_COMBINE', 100105 )
GLU_TESS_BEGIN_DATA=Constant( 'GLU_TESS_BEGIN_DATA', 100106 )
GLU_TESS_VERTEX_DATA=Constant( 'GLU_TESS_VERTEX_DATA', 100107 )
GLU_TESS_END_DATA=Constant( 'GLU_TESS_END_DATA', 100108 )
GLU_TESS_ERROR_DATA=Constant( 'GLU_TESS_ERROR_DATA', 100109 )
GLU_TESS_EDGE_FLAG_DATA=Constant( 'GLU_TESS_EDGE_FLAG_DATA', 100110 )
GLU_TESS_COMBINE_DATA=Constant( 'GLU_TESS_COMBINE_DATA', 100111 )
GLU_CW=Constant( 'GLU_CW', 100120 )
GLU_CCW=Constant( 'GLU_CCW', 100121 )
GLU_INTERIOR=Constant( 'GLU_INTERIOR', 100122 )
GLU_EXTERIOR=Constant( 'GLU_EXTERIOR', 100123 )
GLU_UNKNOWN=Constant( 'GLU_UNKNOWN', 100124 )
GLU_TESS_WINDING_RULE=Constant( 'GLU_TESS_WINDING_RULE', 100140 )
GLU_TESS_BOUNDARY_ONLY=Constant( 'GLU_TESS_BOUNDARY_ONLY', 100141 )
GLU_TESS_TOLERANCE=Constant( 'GLU_TESS_TOLERANCE', 100142 )
GLU_TESS_ERROR1=Constant( 'GLU_TESS_ERROR1', 100151 )
GLU_TESS_ERROR2=Constant( 'GLU_TESS_ERROR2', 100152 )
GLU_TESS_ERROR3=Constant( 'GLU_TESS_ERROR3', 100153 )
GLU_TESS_ERROR4=Constant( 'GLU_TESS_ERROR4', 100154 )
GLU_TESS_ERROR5=Constant( 'GLU_TESS_ERROR5', 100155 )
GLU_TESS_ERROR6=Constant( 'GLU_TESS_ERROR6', 100156 )
GLU_TESS_ERROR7=Constant( 'GLU_TESS_ERROR7', 100157 )
GLU_TESS_ERROR8=Constant( 'GLU_TESS_ERROR8', 100158 )
GLU_TESS_MISSING_BEGIN_POLYGON=Constant( 'GLU_TESS_MISSING_BEGIN_POLYGON', 100151 )
GLU_TESS_MISSING_BEGIN_CONTOUR=Constant( 'GLU_TESS_MISSING_BEGIN_CONTOUR', 100152 )
GLU_TESS_MISSING_END_POLYGON=Constant( 'GLU_TESS_MISSING_END_POLYGON', 100153 )
GLU_TESS_MISSING_END_CONTOUR=Constant( 'GLU_TESS_MISSING_END_CONTOUR', 100154 )
GLU_TESS_COORD_TOO_LARGE=Constant( 'GLU_TESS_COORD_TOO_LARGE', 100155 )
GLU_TESS_NEED_COMBINE_CALLBACK=Constant( 'GLU_TESS_NEED_COMBINE_CALLBACK', 100156 )
GLU_TESS_WINDING_ODD=Constant( 'GLU_TESS_WINDING_ODD', 100130 )
GLU_TESS_WINDING_NONZERO=Constant( 'GLU_TESS_WINDING_NONZERO', 100131 )
GLU_TESS_WINDING_POSITIVE=Constant( 'GLU_TESS_WINDING_POSITIVE', 100132 )
GLU_TESS_WINDING_NEGATIVE=Constant( 'GLU_TESS_WINDING_NEGATIVE', 100133 )
GLU_TESS_WINDING_ABS_GEQ_TWO=Constant( 'GLU_TESS_WINDING_ABS_GEQ_TWO', 100134 )
class struct_GLUnurbs(Structure):
    __slots__ = [
    ]
struct_GLUnurbs._fields_ = [
    ('_opaque_struct', c_int)
]

class struct_GLUnurbs(Structure):
    __slots__ = [
    ]
struct_GLUnurbs._fields_ = [
    ('_opaque_struct', c_int)
]

GLUnurbs = struct_GLUnurbs 	# /usr/include/GL/glu.h:261
class struct_GLUquadric(Structure):
    __slots__ = [
    ]
struct_GLUquadric._fields_ = [
    ('_opaque_struct', c_int)
]

class struct_GLUquadric(Structure):
    __slots__ = [
    ]
struct_GLUquadric._fields_ = [
    ('_opaque_struct', c_int)
]

GLUquadric = struct_GLUquadric 	# /usr/include/GL/glu.h:262
class struct_GLUtesselator(Structure):
    __slots__ = [
    ]
struct_GLUtesselator._fields_ = [
    ('_opaque_struct', c_int)
]

class struct_GLUtesselator(Structure):
    __slots__ = [
    ]
struct_GLUtesselator._fields_ = [
    ('_opaque_struct', c_int)
]

GLUtesselator = struct_GLUtesselator 	# /usr/include/GL/glu.h:263
GLUnurbsObj = GLUnurbs 	# /usr/include/GL/glu.h:266
GLUquadricObj = GLUquadric 	# /usr/include/GL/glu.h:267
GLUtesselatorObj = GLUtesselator 	# /usr/include/GL/glu.h:268
GLUtriangulatorObj = GLUtesselator 	# /usr/include/GL/glu.h:269
GLU_TESS_MAX_COORD=Constant( 'GLU_TESS_MAX_COORD', 9.9999999999999998e+149 )
_GLUfuncptr = CFUNCTYPE(None) 	# /usr/include/GL/glu.h:274
gluBeginCurve=platform.createBaseFunction(
	'gluBeginCurve',platform.GL,None,
	[POINTER(GLUnurbs)],
	['nurb'],
)
gluBeginPolygon=platform.createBaseFunction(
	'gluBeginPolygon',platform.GL,None,
	[POINTER(GLUtesselator)],
	['tess'],
)
gluBeginSurface=platform.createBaseFunction(
	'gluBeginSurface',platform.GL,None,
	[POINTER(GLUnurbs)],
	['nurb'],
)
gluBeginTrim=platform.createBaseFunction(
	'gluBeginTrim',platform.GL,None,
	[POINTER(GLUnurbs)],
	['nurb'],
)
gluBuild1DMipmapLevels=platform.createBaseFunction(
	'gluBuild1DMipmapLevels',platform.GL,GLint,
	[GLenum,GLint,GLsizei,GLenum,GLenum,GLint,GLint,GLint,POINTER(None)],
	['target', 'internalFormat', 'width', 'format', 'type', 'level', 'base', 'max', 'data'],
)
gluBuild1DMipmaps=platform.createBaseFunction(
	'gluBuild1DMipmaps',platform.GL,GLint,
	[GLenum,GLint,GLsizei,GLenum,GLenum,POINTER(None)],
	['target', 'internalFormat', 'width', 'format', 'type', 'data'],
)
gluBuild2DMipmapLevels=platform.createBaseFunction(
	'gluBuild2DMipmapLevels',platform.GL,GLint,
	[GLenum,GLint,GLsizei,GLsizei,GLenum,GLenum,GLint,GLint,GLint,POINTER(None)],
	['target', 'internalFormat', 'width', 'height', 'format', 'type', 'level', 'base', 'max', 'data'],
)
gluBuild2DMipmaps=platform.createBaseFunction(
	'gluBuild2DMipmaps',platform.GL,GLint,
	[GLenum,GLint,GLsizei,GLsizei,GLenum,GLenum,POINTER(None)],
	['target', 'internalFormat', 'width', 'height', 'format', 'type', 'data'],
)
gluBuild3DMipmapLevels=platform.createBaseFunction(
	'gluBuild3DMipmapLevels',platform.GL,GLint,
	[GLenum,GLint,GLsizei,GLsizei,GLsizei,GLenum,GLenum,GLint,GLint,GLint,POINTER(None)],
	['target', 'internalFormat', 'width', 'height', 'depth', 'format', 'type', 'level', 'base', 'max', 'data'],
)
gluBuild3DMipmaps=platform.createBaseFunction(
	'gluBuild3DMipmaps',platform.GL,GLint,
	[GLenum,GLint,GLsizei,GLsizei,GLsizei,GLenum,GLenum,POINTER(None)],
	['target', 'internalFormat', 'width', 'height', 'depth', 'format', 'type', 'data'],
)
gluCheckExtension=platform.createBaseFunction(
	'gluCheckExtension',platform.GL,GLboolean,
	[GLubyteArray,GLubyteArray],
	['extName', 'extString'],
)
gluCylinder=platform.createBaseFunction(
	'gluCylinder',platform.GL,None,
	[POINTER(GLUquadric),GLdouble,GLdouble,GLdouble,GLint,GLint],
	['quad', 'base', 'top', 'height', 'slices', 'stacks'],
)
gluDeleteNurbsRenderer=platform.createBaseFunction(
	'gluDeleteNurbsRenderer',platform.GL,None,
	[POINTER(GLUnurbs)],
	['nurb'],
)
gluDeleteQuadric=platform.createBaseFunction(
	'gluDeleteQuadric',platform.GL,None,
	[POINTER(GLUquadric)],
	['quad'],
)
gluDeleteTess=platform.createBaseFunction(
	'gluDeleteTess',platform.GL,None,
	[POINTER(GLUtesselator)],
	['tess'],
)
gluDisk=platform.createBaseFunction(
	'gluDisk',platform.GL,None,
	[POINTER(GLUquadric),GLdouble,GLdouble,GLint,GLint],
	['quad', 'inner', 'outer', 'slices', 'loops'],
)
gluEndCurve=platform.createBaseFunction(
	'gluEndCurve',platform.GL,None,
	[POINTER(GLUnurbs)],
	['nurb'],
)
gluEndPolygon=platform.createBaseFunction(
	'gluEndPolygon',platform.GL,None,
	[POINTER(GLUtesselator)],
	['tess'],
)
gluEndSurface=platform.createBaseFunction(
	'gluEndSurface',platform.GL,None,
	[POINTER(GLUnurbs)],
	['nurb'],
)
gluEndTrim=platform.createBaseFunction(
	'gluEndTrim',platform.GL,None,
	[POINTER(GLUnurbs)],
	['nurb'],
)
gluErrorString=platform.createBaseFunction(
	'gluErrorString',platform.GL,GLubyteArray,
	[GLenum],
	['error'],
)
gluGetNurbsProperty=platform.createBaseFunction(
	'gluGetNurbsProperty',platform.GL,None,
	[POINTER(GLUnurbs),GLenum,GLfloatArray],
	['nurb', 'property', 'data'],
)
gluGetString=platform.createBaseFunction(
	'gluGetString',platform.GL,GLubyteArray,
	[GLenum],
	['name'],
)
gluGetTessProperty=platform.createBaseFunction(
	'gluGetTessProperty',platform.GL,None,
	[POINTER(GLUtesselator),GLenum,GLdoubleArray],
	['tess', 'which', 'data'],
)
gluLoadSamplingMatrices=platform.createBaseFunction(
	'gluLoadSamplingMatrices',platform.GL,None,
	[POINTER(GLUnurbs),GLfloatArray,GLfloatArray,GLintArray],
	['nurb', 'model', 'perspective', 'view'],
)
gluLookAt=platform.createBaseFunction(
	'gluLookAt',platform.GL,None,
	[GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble],
	['eyeX', 'eyeY', 'eyeZ', 'centerX', 'centerY', 'centerZ', 'upX', 'upY', 'upZ'],
)
gluNewNurbsRenderer=platform.createBaseFunction(
	'gluNewNurbsRenderer',platform.GL,POINTER(GLUnurbs),
	[],
	[],
)
gluNewQuadric=platform.createBaseFunction(
	'gluNewQuadric',platform.GL,POINTER(GLUquadric),
	[],
	[],
)
gluNewTess=platform.createBaseFunction(
	'gluNewTess',platform.GL,POINTER(GLUtesselator),
	[],
	[],
)
gluNextContour=platform.createBaseFunction(
	'gluNextContour',platform.GL,None,
	[POINTER(GLUtesselator),GLenum],
	['tess', 'type'],
)
gluNurbsCallback=platform.createBaseFunction(
	'gluNurbsCallback',platform.GL,None,
	[POINTER(GLUnurbs),GLenum,_GLUfuncptr],
	['nurb', 'which', 'CallBackFunc'],
)
gluNurbsCallbackData=platform.createBaseFunction(
	'gluNurbsCallbackData',platform.GL,None,
	[POINTER(GLUnurbs),POINTER(GLvoid)],
	['nurb', 'userData'],
)
gluNurbsCallbackDataEXT=platform.createBaseFunction(
	'gluNurbsCallbackDataEXT',platform.GL,None,
	[POINTER(GLUnurbs),POINTER(GLvoid)],
	['nurb', 'userData'],
)
gluNurbsCurve=platform.createBaseFunction(
	'gluNurbsCurve',platform.GL,None,
	[POINTER(GLUnurbs),GLint,GLfloatArray,GLint,GLfloatArray,GLint,GLenum],
	['nurb', 'knotCount', 'knots', 'stride', 'control', 'order', 'type'],
)
gluNurbsProperty=platform.createBaseFunction(
	'gluNurbsProperty',platform.GL,None,
	[POINTER(GLUnurbs),GLenum,GLfloat],
	['nurb', 'property', 'value'],
)
gluNurbsSurface=platform.createBaseFunction(
	'gluNurbsSurface',platform.GL,None,
	[POINTER(GLUnurbs),GLint,GLfloatArray,GLint,GLfloatArray,GLint,GLint,GLfloatArray,GLint,GLint,GLenum],
	['nurb', 'sKnotCount', 'sKnots', 'tKnotCount', 'tKnots', 'sStride', 'tStride', 'control', 'sOrder', 'tOrder', 'type'],
)
gluOrtho2D=platform.createBaseFunction(
	'gluOrtho2D',platform.GL,None,
	[GLdouble,GLdouble,GLdouble,GLdouble],
	['left', 'right', 'bottom', 'top'],
)
gluPartialDisk=platform.createBaseFunction(
	'gluPartialDisk',platform.GL,None,
	[POINTER(GLUquadric),GLdouble,GLdouble,GLint,GLint,GLdouble,GLdouble],
	['quad', 'inner', 'outer', 'slices', 'loops', 'start', 'sweep'],
)
gluPerspective=platform.createBaseFunction(
	'gluPerspective',platform.GL,None,
	[GLdouble,GLdouble,GLdouble,GLdouble],
	['fovy', 'aspect', 'zNear', 'zFar'],
)
gluPickMatrix=platform.createBaseFunction(
	'gluPickMatrix',platform.GL,None,
	[GLdouble,GLdouble,GLdouble,GLdouble,GLintArray],
	['x', 'y', 'delX', 'delY', 'viewport'],
)
gluProject=platform.createBaseFunction(
	'gluProject',platform.GL,GLint,
	[GLdouble,GLdouble,GLdouble,GLdoubleArray,GLdoubleArray,GLintArray,GLdoubleArray,GLdoubleArray,GLdoubleArray],
	['objX', 'objY', 'objZ', 'model', 'proj', 'view', 'winX', 'winY', 'winZ'],
)
gluPwlCurve=platform.createBaseFunction(
	'gluPwlCurve',platform.GL,None,
	[POINTER(GLUnurbs),GLint,GLfloatArray,GLint,GLenum],
	['nurb', 'count', 'data', 'stride', 'type'],
)
gluQuadricCallback=platform.createBaseFunction(
	'gluQuadricCallback',platform.GL,None,
	[POINTER(GLUquadric),GLenum,_GLUfuncptr],
	['quad', 'which', 'CallBackFunc'],
)
gluQuadricDrawStyle=platform.createBaseFunction(
	'gluQuadricDrawStyle',platform.GL,None,
	[POINTER(GLUquadric),GLenum],
	['quad', 'draw'],
)
gluQuadricNormals=platform.createBaseFunction(
	'gluQuadricNormals',platform.GL,None,
	[POINTER(GLUquadric),GLenum],
	['quad', 'normal'],
)
gluQuadricOrientation=platform.createBaseFunction(
	'gluQuadricOrientation',platform.GL,None,
	[POINTER(GLUquadric),GLenum],
	['quad', 'orientation'],
)
gluQuadricTexture=platform.createBaseFunction(
	'gluQuadricTexture',platform.GL,None,
	[POINTER(GLUquadric),GLboolean],
	['quad', 'texture'],
)
gluScaleImage=platform.createBaseFunction(
	'gluScaleImage',platform.GL,GLint,
	[GLenum,GLsizei,GLsizei,GLenum,POINTER(None),GLsizei,GLsizei,GLenum,POINTER(GLvoid)],
	['format', 'wIn', 'hIn', 'typeIn', 'dataIn', 'wOut', 'hOut', 'typeOut', 'dataOut'],
)
gluSphere=platform.createBaseFunction(
	'gluSphere',platform.GL,None,
	[POINTER(GLUquadric),GLdouble,GLint,GLint],
	['quad', 'radius', 'slices', 'stacks'],
)
gluTessBeginContour=platform.createBaseFunction(
	'gluTessBeginContour',platform.GL,None,
	[POINTER(GLUtesselator)],
	['tess'],
)
gluTessBeginPolygon=platform.createBaseFunction(
	'gluTessBeginPolygon',platform.GL,None,
	[POINTER(GLUtesselator),POINTER(GLvoid)],
	['tess', 'data'],
)
gluTessCallback=platform.createBaseFunction(
	'gluTessCallback',platform.GL,None,
	[POINTER(GLUtesselator),GLenum,_GLUfuncptr],
	['tess', 'which', 'CallBackFunc'],
)
gluTessEndContour=platform.createBaseFunction(
	'gluTessEndContour',platform.GL,None,
	[POINTER(GLUtesselator)],
	['tess'],
)
gluTessEndPolygon=platform.createBaseFunction(
	'gluTessEndPolygon',platform.GL,None,
	[POINTER(GLUtesselator)],
	['tess'],
)
gluTessNormal=platform.createBaseFunction(
	'gluTessNormal',platform.GL,None,
	[POINTER(GLUtesselator),GLdouble,GLdouble,GLdouble],
	['tess', 'valueX', 'valueY', 'valueZ'],
)
gluTessProperty=platform.createBaseFunction(
	'gluTessProperty',platform.GL,None,
	[POINTER(GLUtesselator),GLenum,GLdouble],
	['tess', 'which', 'data'],
)
gluTessVertex=platform.createBaseFunction(
	'gluTessVertex',platform.GL,None,
	[POINTER(GLUtesselator),GLdoubleArray,POINTER(GLvoid)],
	['tess', 'location', 'data'],
)
gluUnProject=platform.createBaseFunction(
	'gluUnProject',platform.GL,GLint,
	[GLdouble,GLdouble,GLdouble,GLdoubleArray,GLdoubleArray,GLintArray,GLdoubleArray,GLdoubleArray,GLdoubleArray],
	['winX', 'winY', 'winZ', 'model', 'proj', 'view', 'objX', 'objY', 'objZ'],
)
gluUnProject4=platform.createBaseFunction(
	'gluUnProject4',platform.GL,GLint,
	[GLdouble,GLdouble,GLdouble,GLdouble,GLdoubleArray,GLdoubleArray,GLintArray,GLdouble,GLdouble,GLdoubleArray,GLdoubleArray,GLdoubleArray,GLdoubleArray],
	['winX', 'winY', 'winZ', 'clipW', 'model', 'proj', 'view', 'nearVal', 'farVal', 'objX', 'objY', 'objZ', 'objW'],
)

__all__ = ['GLU_EXT_object_space_tess', 'GLU_EXT_nurbs_tessellator',
'GLU_FALSE', 'GLU_TRUE', 'GLU_VERSION_1_1', 'GLU_VERSION_1_2',
'GLU_VERSION_1_3', 'GLU_VERSION', 'GLU_EXTENSIONS', 'GLU_INVALID_ENUM',
'GLU_INVALID_VALUE', 'GLU_OUT_OF_MEMORY', 'GLU_INCOMPATIBLE_GL_VERSION',
'GLU_INVALID_OPERATION', 'GLU_OUTLINE_POLYGON', 'GLU_OUTLINE_PATCH',
'GLU_NURBS_ERROR', 'GLU_ERROR', 'GLU_NURBS_BEGIN', 'GLU_NURBS_BEGIN_EXT',
'GLU_NURBS_VERTEX', 'GLU_NURBS_VERTEX_EXT', 'GLU_NURBS_NORMAL',
'GLU_NURBS_NORMAL_EXT', 'GLU_NURBS_COLOR', 'GLU_NURBS_COLOR_EXT',
'GLU_NURBS_TEXTURE_COORD', 'GLU_NURBS_TEX_COORD_EXT', 'GLU_NURBS_END',
'GLU_NURBS_END_EXT', 'GLU_NURBS_BEGIN_DATA', 'GLU_NURBS_BEGIN_DATA_EXT',
'GLU_NURBS_VERTEX_DATA', 'GLU_NURBS_VERTEX_DATA_EXT', 'GLU_NURBS_NORMAL_DATA',
'GLU_NURBS_NORMAL_DATA_EXT', 'GLU_NURBS_COLOR_DATA',
'GLU_NURBS_COLOR_DATA_EXT', 'GLU_NURBS_TEXTURE_COORD_DATA',
'GLU_NURBS_TEX_COORD_DATA_EXT', 'GLU_NURBS_END_DATA',
'GLU_NURBS_END_DATA_EXT', 'GLU_NURBS_ERROR1', 'GLU_NURBS_ERROR2',
'GLU_NURBS_ERROR3', 'GLU_NURBS_ERROR4', 'GLU_NURBS_ERROR5',
'GLU_NURBS_ERROR6', 'GLU_NURBS_ERROR7', 'GLU_NURBS_ERROR8',
'GLU_NURBS_ERROR9', 'GLU_NURBS_ERROR10', 'GLU_NURBS_ERROR11',
'GLU_NURBS_ERROR12', 'GLU_NURBS_ERROR13', 'GLU_NURBS_ERROR14',
'GLU_NURBS_ERROR15', 'GLU_NURBS_ERROR16', 'GLU_NURBS_ERROR17',
'GLU_NURBS_ERROR18', 'GLU_NURBS_ERROR19', 'GLU_NURBS_ERROR20',
'GLU_NURBS_ERROR21', 'GLU_NURBS_ERROR22', 'GLU_NURBS_ERROR23',
'GLU_NURBS_ERROR24', 'GLU_NURBS_ERROR25', 'GLU_NURBS_ERROR26',
'GLU_NURBS_ERROR27', 'GLU_NURBS_ERROR28', 'GLU_NURBS_ERROR29',
'GLU_NURBS_ERROR30', 'GLU_NURBS_ERROR31', 'GLU_NURBS_ERROR32',
'GLU_NURBS_ERROR33', 'GLU_NURBS_ERROR34', 'GLU_NURBS_ERROR35',
'GLU_NURBS_ERROR36', 'GLU_NURBS_ERROR37', 'GLU_AUTO_LOAD_MATRIX',
'GLU_CULLING', 'GLU_SAMPLING_TOLERANCE', 'GLU_DISPLAY_MODE',
'GLU_PARAMETRIC_TOLERANCE', 'GLU_SAMPLING_METHOD', 'GLU_U_STEP', 'GLU_V_STEP',
'GLU_NURBS_MODE', 'GLU_NURBS_MODE_EXT', 'GLU_NURBS_TESSELLATOR',
'GLU_NURBS_TESSELLATOR_EXT', 'GLU_NURBS_RENDERER', 'GLU_NURBS_RENDERER_EXT',
'GLU_OBJECT_PARAMETRIC_ERROR', 'GLU_OBJECT_PARAMETRIC_ERROR_EXT',
'GLU_OBJECT_PATH_LENGTH', 'GLU_OBJECT_PATH_LENGTH_EXT', 'GLU_PATH_LENGTH',
'GLU_PARAMETRIC_ERROR', 'GLU_DOMAIN_DISTANCE', 'GLU_MAP1_TRIM_2',
'GLU_MAP1_TRIM_3', 'GLU_POINT', 'GLU_LINE', 'GLU_FILL', 'GLU_SILHOUETTE',
'GLU_SMOOTH', 'GLU_FLAT', 'GLU_NONE', 'GLU_OUTSIDE', 'GLU_INSIDE',
'GLU_TESS_BEGIN', 'GLU_BEGIN', 'GLU_TESS_VERTEX', 'GLU_VERTEX',
'GLU_TESS_END', 'GLU_END', 'GLU_TESS_ERROR', 'GLU_TESS_EDGE_FLAG',
'GLU_EDGE_FLAG', 'GLU_TESS_COMBINE', 'GLU_TESS_BEGIN_DATA',
'GLU_TESS_VERTEX_DATA', 'GLU_TESS_END_DATA', 'GLU_TESS_ERROR_DATA',
'GLU_TESS_EDGE_FLAG_DATA', 'GLU_TESS_COMBINE_DATA', 'GLU_CW', 'GLU_CCW',
'GLU_INTERIOR', 'GLU_EXTERIOR', 'GLU_UNKNOWN', 'GLU_TESS_WINDING_RULE',
'GLU_TESS_BOUNDARY_ONLY', 'GLU_TESS_TOLERANCE', 'GLU_TESS_ERROR1',
'GLU_TESS_ERROR2', 'GLU_TESS_ERROR3', 'GLU_TESS_ERROR4', 'GLU_TESS_ERROR5',
'GLU_TESS_ERROR6', 'GLU_TESS_ERROR7', 'GLU_TESS_ERROR8',
'GLU_TESS_MISSING_BEGIN_POLYGON', 'GLU_TESS_MISSING_BEGIN_CONTOUR',
'GLU_TESS_MISSING_END_POLYGON', 'GLU_TESS_MISSING_END_CONTOUR',
'GLU_TESS_COORD_TOO_LARGE', 'GLU_TESS_NEED_COMBINE_CALLBACK',
'GLU_TESS_WINDING_ODD', 'GLU_TESS_WINDING_NONZERO',
'GLU_TESS_WINDING_POSITIVE', 'GLU_TESS_WINDING_NEGATIVE',
'GLU_TESS_WINDING_ABS_GEQ_TWO', 'GLUnurbs', 'GLUquadric', 'GLUtesselator',
'GLUnurbsObj', 'GLUquadricObj', 'GLUtesselatorObj', 'GLUtriangulatorObj',
'GLU_TESS_MAX_COORD', '_GLUfuncptr', 'gluBeginCurve', 'gluBeginPolygon',
'gluBeginSurface', 'gluBeginTrim', 'gluBuild1DMipmapLevels',
'gluBuild1DMipmaps', 'gluBuild2DMipmapLevels', 'gluBuild2DMipmaps',
'gluBuild3DMipmapLevels', 'gluBuild3DMipmaps', 'gluCheckExtension',
'gluCylinder', 'gluDeleteNurbsRenderer', 'gluDeleteQuadric', 'gluDeleteTess',
'gluDisk', 'gluEndCurve', 'gluEndPolygon', 'gluEndSurface', 'gluEndTrim',
'gluErrorString', 'gluGetNurbsProperty', 'gluGetString', 'gluGetTessProperty',
'gluLoadSamplingMatrices', 'gluLookAt', 'gluNewNurbsRenderer',
'gluNewQuadric', 'gluNewTess', 'gluNextContour', 'gluNurbsCallback',
'gluNurbsCallbackData', 'gluNurbsCallbackDataEXT', 'gluNurbsCurve',
'gluNurbsProperty', 'gluNurbsSurface', 'gluOrtho2D', 'gluPartialDisk',
'gluPerspective', 'gluPickMatrix', 'gluProject', 'gluPwlCurve',
'gluQuadricCallback', 'gluQuadricDrawStyle', 'gluQuadricNormals',
'gluQuadricOrientation', 'gluQuadricTexture', 'gluScaleImage', 'gluSphere',
'gluTessBeginContour', 'gluTessBeginPolygon', 'gluTessCallback',
'gluTessEndContour', 'gluTessEndPolygon', 'gluTessNormal', 'gluTessProperty',
'gluTessVertex', 'gluUnProject', 'gluUnProject4']
# END GENERATED CONTENT (do not edit above this line)

