a
    i‚j°	  ã                
   @   sš   d Z dZddlZe d¡ZddlmZ dZejrpzddl	mZ W n. e
yn Z ze d¡ W Y dZ[n
dZ[0 0 edu r–ddlmZ G d	d
„ d
ejƒZdS )z&Passing of None as an array data-type
Znonesé    NzOpenGL.arrays.nones)Úacceleratesupport)ÚNoneHandlerzEUnable to load nones_formathandler accelerator from OpenGL_accelerate)Úformathandlerc                   @   s‚   e Zd ZdZedƒfZddd„Zdd„ Zdd„ Zdd	d
„Z	dd„ Z
ddd„Zddd„Zddd„Zddd„Zddd„Zd dd„ZdS )!r   z+Numpy-specific data-type handler for OpenGLNc                 C   s   dS )z!Convert to a ctypes pointer valueN© ©ÚselfÚvalueÚtypeCoder   r   úQ/home/ghrups/robot-bench/.venv/lib/python3.9/site-packages/OpenGL/arrays/nones.pyÚ
from_param   s    zNoneHandler.from_paramc                 C   s   dS )zreturn long for pointer valueNr   ©r   r   r   r   r
   ÚdataPointer   s    zNoneHandler.dataPointerc                 C   s   dS )zCGiven value in a known data-pointer type, return void_p for pointerNr   )Úclsr   r   r   r
   ÚvoidDataPointer   s    zNoneHandler.voidDataPointerc                 C   s   dS )z.Given a value, convert to array representationNr   r   r   r   r
   ÚasArray   s    zNoneHandler.asArrayc                 C   s   t dƒ‚dS )z=Given a value, guess OpenGL type of the corresponding pointerz"Can't guess type of a NULL pointerN©Ú	TypeErrorr   r   r   r
   ÚarrayToGLType!   s    zNoneHandler.arrayToGLTypec                 C   s   dS )z6Given a data-value, calculate dimensions for the arrayr   r   r   r   r   r
   Ú	arraySize$   s    zNoneHandler.arraySizec                 C   s   dS )zCGiven a data-value, calculate number of bytes required to representr   r   r   r   r   r
   ÚarrayByteCount'   s    zNoneHandler.arrayByteCountc                 C   s   t dƒ‚dS ©z2Create an array of given shape with given typeCodez,Can't create NULL pointer filled with valuesNr   ©r   Úshaper	   r   r   r
   Úzeros*   s    zNoneHandler.zerosc                 C   s   t dƒ‚dS r   r   r   r   r   r
   Úones-   s    zNoneHandler.onesc                 C   s   t dƒ‚dS )z-Determine unit size of an array (if possible)z+Can't determine unit size of a null pointerNr   r   r   r   r
   ÚunitSize0   s    zNoneHandler.unitSizec                 C   s   dS )z<Determine dimensions of the passed array value (if possible))r   r   r   r   r   r
   Ú
dimensions3   s    zNoneHandler.dimensions)N)N)N)N)N)N)N)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚtypeZHANDLED_TYPESr   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r      s   







r   )r    ZREGISTRY_NAMEÚloggingÚ	getLoggerÚ_logZOpenGLr   r   ZACCELERATE_AVAILABLEZ%OpenGL_accelerate.nones_formathandlerÚImportErrorÚerrÚwarningZOpenGL.arraysr   ZFormatHandlerr   r   r   r
   Ú<module>   s   
ÿ