'''OpenGL extension EXT.coordinate_frame

Overview (from the spec)
	
	This extension allows specifying a per-vertex tangent and binormal
	vector in addition to the normal vector, defining a coordinate frame.
	The coordinate frame is used in additional extensions which also build
	on fragment lighting to achieve bump mapping.

The official definition of this extension is available here:
	http://oss.sgi.com/projects/ogl-sample/registry/EXT/coordinate_frame.txt

Automatically generated by the get_gl_extensions script, do not edit!
'''
from OpenGL import platform, constants, constant, arrays
from OpenGL import extensions
from OpenGL.GL import glget
import ctypes
GL_TANGENT_ARRAY_EXT = constant.Constant( 'GL_TANGENT_ARRAY_EXT', 0x8439 )
GL_BINORMAL_ARRAY_EXT = constant.Constant( 'GL_BINORMAL_ARRAY_EXT', 0x843A )
GL_CURRENT_TANGENT_EXT = constant.Constant( 'GL_CURRENT_TANGENT_EXT', 0x843B )
glget.addGLGetConstant( GL_CURRENT_TANGENT_EXT, (1,) )
GL_CURRENT_BINORMAL_EXT = constant.Constant( 'GL_CURRENT_BINORMAL_EXT', 0x843C )
glget.addGLGetConstant( GL_CURRENT_BINORMAL_EXT, (1,) )
GL_TANGENT_ARRAY_TYPE_EXT = constant.Constant( 'GL_TANGENT_ARRAY_TYPE_EXT', 0x843E )
glget.addGLGetConstant( GL_TANGENT_ARRAY_TYPE_EXT, (1,) )
GL_TANGENT_ARRAY_STRIDE_EXT = constant.Constant( 'GL_TANGENT_ARRAY_STRIDE_EXT', 0x843F )
glget.addGLGetConstant( GL_TANGENT_ARRAY_STRIDE_EXT, (1,) )
GL_BINORMAL_ARRAY_TYPE_EXT = constant.Constant( 'GL_BINORMAL_ARRAY_TYPE_EXT', 0x8440 )
glget.addGLGetConstant( GL_BINORMAL_ARRAY_TYPE_EXT, (1,) )
GL_BINORMAL_ARRAY_STRIDE_EXT = constant.Constant( 'GL_BINORMAL_ARRAY_STRIDE_EXT', 0x8441 )
glget.addGLGetConstant( GL_BINORMAL_ARRAY_STRIDE_EXT, (1,) )
GL_TANGENT_ARRAY_POINTER_EXT = constant.Constant( 'GL_TANGENT_ARRAY_POINTER_EXT', 0x8442 )
GL_BINORMAL_ARRAY_POINTER_EXT = constant.Constant( 'GL_BINORMAL_ARRAY_POINTER_EXT', 0x8443 )
GL_MAP1_TANGENT_EXT = constant.Constant( 'GL_MAP1_TANGENT_EXT', 0x8444 )
GL_MAP2_TANGENT_EXT = constant.Constant( 'GL_MAP2_TANGENT_EXT', 0x8445 )
GL_MAP1_BINORMAL_EXT = constant.Constant( 'GL_MAP1_BINORMAL_EXT', 0x8446 )
GL_MAP2_BINORMAL_EXT = constant.Constant( 'GL_MAP2_BINORMAL_EXT', 0x8447 )
glTangent3bEXT = platform.createExtensionFunction( 
	'glTangent3bEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLbyte, constants.GLbyte, constants.GLbyte,),
	doc = 'glTangent3bEXT( GLbyte(tx), GLbyte(ty), GLbyte(tz) ) -> None',
	argNames = ('tx', 'ty', 'tz',),
)

glTangent3bvEXT = platform.createExtensionFunction( 
	'glTangent3bvEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(arrays.GLbyteArray,),
	doc = 'glTangent3bvEXT( GLbyteArray(v) ) -> None',
	argNames = ('v',),
)

glTangent3dEXT = platform.createExtensionFunction( 
	'glTangent3dEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLdouble, constants.GLdouble, constants.GLdouble,),
	doc = 'glTangent3dEXT( GLdouble(tx), GLdouble(ty), GLdouble(tz) ) -> None',
	argNames = ('tx', 'ty', 'tz',),
)

glTangent3dvEXT = platform.createExtensionFunction( 
	'glTangent3dvEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(arrays.GLdoubleArray,),
	doc = 'glTangent3dvEXT( GLdoubleArray(v) ) -> None',
	argNames = ('v',),
)

glTangent3fEXT = platform.createExtensionFunction( 
	'glTangent3fEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLfloat, constants.GLfloat, constants.GLfloat,),
	doc = 'glTangent3fEXT( GLfloat(tx), GLfloat(ty), GLfloat(tz) ) -> None',
	argNames = ('tx', 'ty', 'tz',),
)

glTangent3fvEXT = platform.createExtensionFunction( 
	'glTangent3fvEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(arrays.GLfloatArray,),
	doc = 'glTangent3fvEXT( GLfloatArray(v) ) -> None',
	argNames = ('v',),
)

glTangent3iEXT = platform.createExtensionFunction( 
	'glTangent3iEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLint, constants.GLint,),
	doc = 'glTangent3iEXT( GLint(tx), GLint(ty), GLint(tz) ) -> None',
	argNames = ('tx', 'ty', 'tz',),
)

glTangent3ivEXT = platform.createExtensionFunction( 
	'glTangent3ivEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(arrays.GLintArray,),
	doc = 'glTangent3ivEXT( GLintArray(v) ) -> None',
	argNames = ('v',),
)

glTangent3sEXT = platform.createExtensionFunction( 
	'glTangent3sEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLshort, constants.GLshort, constants.GLshort,),
	doc = 'glTangent3sEXT( GLshort(tx), GLshort(ty), GLshort(tz) ) -> None',
	argNames = ('tx', 'ty', 'tz',),
)

glTangent3svEXT = platform.createExtensionFunction( 
	'glTangent3svEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(arrays.GLshortArray,),
	doc = 'glTangent3svEXT( GLshortArray(v) ) -> None',
	argNames = ('v',),
)

glBinormal3bEXT = platform.createExtensionFunction( 
	'glBinormal3bEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLbyte, constants.GLbyte, constants.GLbyte,),
	doc = 'glBinormal3bEXT( GLbyte(bx), GLbyte(by), GLbyte(bz) ) -> None',
	argNames = ('bx', 'by', 'bz',),
)

glBinormal3bvEXT = platform.createExtensionFunction( 
	'glBinormal3bvEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(arrays.GLbyteArray,),
	doc = 'glBinormal3bvEXT( GLbyteArray(v) ) -> None',
	argNames = ('v',),
)

glBinormal3dEXT = platform.createExtensionFunction( 
	'glBinormal3dEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLdouble, constants.GLdouble, constants.GLdouble,),
	doc = 'glBinormal3dEXT( GLdouble(bx), GLdouble(by), GLdouble(bz) ) -> None',
	argNames = ('bx', 'by', 'bz',),
)

glBinormal3dvEXT = platform.createExtensionFunction( 
	'glBinormal3dvEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(arrays.GLdoubleArray,),
	doc = 'glBinormal3dvEXT( GLdoubleArray(v) ) -> None',
	argNames = ('v',),
)

glBinormal3fEXT = platform.createExtensionFunction( 
	'glBinormal3fEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLfloat, constants.GLfloat, constants.GLfloat,),
	doc = 'glBinormal3fEXT( GLfloat(bx), GLfloat(by), GLfloat(bz) ) -> None',
	argNames = ('bx', 'by', 'bz',),
)

glBinormal3fvEXT = platform.createExtensionFunction( 
	'glBinormal3fvEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(arrays.GLfloatArray,),
	doc = 'glBinormal3fvEXT( GLfloatArray(v) ) -> None',
	argNames = ('v',),
)

glBinormal3iEXT = platform.createExtensionFunction( 
	'glBinormal3iEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLint, constants.GLint, constants.GLint,),
	doc = 'glBinormal3iEXT( GLint(bx), GLint(by), GLint(bz) ) -> None',
	argNames = ('bx', 'by', 'bz',),
)

glBinormal3ivEXT = platform.createExtensionFunction( 
	'glBinormal3ivEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(arrays.GLintArray,),
	doc = 'glBinormal3ivEXT( GLintArray(v) ) -> None',
	argNames = ('v',),
)

glBinormal3sEXT = platform.createExtensionFunction( 
	'glBinormal3sEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLshort, constants.GLshort, constants.GLshort,),
	doc = 'glBinormal3sEXT( GLshort(bx), GLshort(by), GLshort(bz) ) -> None',
	argNames = ('bx', 'by', 'bz',),
)

glBinormal3svEXT = platform.createExtensionFunction( 
	'glBinormal3svEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(arrays.GLshortArray,),
	doc = 'glBinormal3svEXT( GLshortArray(v) ) -> None',
	argNames = ('v',),
)

glTangentPointerEXT = platform.createExtensionFunction( 
	'glTangentPointerEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLenum, constants.GLsizei, ctypes.c_void_p,),
	doc = 'glTangentPointerEXT( GLenum(type), GLsizei(stride), c_void_p(pointer) ) -> None',
	argNames = ('type', 'stride', 'pointer',),
)

glBinormalPointerEXT = platform.createExtensionFunction( 
	'glBinormalPointerEXT', dll=platform.GL,
	resultType=None, 
	argTypes=(constants.GLenum, constants.GLsizei, ctypes.c_void_p,),
	doc = 'glBinormalPointerEXT( GLenum(type), GLsizei(stride), c_void_p(pointer) ) -> None',
	argNames = ('type', 'stride', 'pointer',),
)


def glInitCoordinateFrameEXT():
	'''Return boolean indicating whether this extension is available'''
	return extensions.hasGLExtension( 'GL_EXT_coordinate_frame' )
