ó
¹™Jc           @   s  d  Z  d d l m Z d d l m Z d d l m Z m	 Z	 d e
 f d „  ƒ  YZ d d d	 d
 „ Z e e j ƒ Z e e j d d d ƒ Z e e j d d d ƒ Z e e j ƒ Z e e j ƒ Z e e e j ƒ d d d ƒ Z e e e j ƒ d d d ƒ Z e e e j ƒ d d d ƒ Z d S(   s1   GLE exceptional functions (specialised signaturesiÿÿÿÿ(   t   GLE(   t   annotations(   t   wrappert   arrayst   _lengthOfArgnamec           B   s/   e  Z d  Z e j d „ Z d „  Z d „  Z RS(   s=   Calculates the length of a given argname over a divisor valuec         C   s   | |  _  | |  _ | |  _ d  S(   N(   t	   arrayNamet   divisort	   arrayType(   t   selfR   R   R   (    (    s7   C:\Python27\Lib\site-packages\OpenGL\GLE\exceptional.pyt   __init__	   s    		c         C   s   | j  |  j ƒ |  _ d  S(   N(   t
   pyArgIndexR   t
   arrayIndex(   R   R   (    (    s7   C:\Python27\Lib\site-packages\OpenGL\GLE\exceptional.pyt   finalise   s    c         C   s   |  j  j | |  j ƒ |  j S(   s,   Get the length of pyArgs[2], a glDoubleArray(   R   t	   arraySizeR   R   (   R   t   pyArgst   indext   wrappedOperation(    (    s7   C:\Python27\Lib\site-packages\OpenGL\GLE\exceptional.pyt   __call__   s    (   t   __name__t
   __module__t   __doc__R   t   GLdoubleArrayR	   R   R   (    (    (    s7   C:\Python27\Lib\site-packages\OpenGL\GLE\exceptional.pyR      s   	t   ncpt   contouri   c         C   s1   t  j  |  ƒ j | ƒ j | t | | t j ƒ ƒ S(   s2   Do the basic wrapping operation for a GLE function(   R   t   setPyConvertert   setCConverterR   R   R   (   t   baset
   lengthNamet   contourNameR   (    (    s7   C:\Python27\Lib\site-packages\OpenGL\GLE\exceptional.pyt	   _baseWrap   s    	t   npointst   point_arrayi   N(   R   t
   OpenGL.rawR    t   rawt   OpenGL.raw.GLER   t   simplet   OpenGLR   R   t   objectR   R   t   gleLathet   glePolyConet   glePolyCylindert   gleScrewt	   gleSpiralt   gleExtrusiont   gleSuperExtrusiont   gleTwistExtrusion(    (    (    s7   C:\Python27\Lib\site-packages\OpenGL\GLE\exceptional.pyt   <module>   s&   