
    kj                         d dl mZ d dlZd dlmZ d dlmZ dddddefdeeeef         d	eeeef         d
e	de	dee
         dee         defdZdS )    )OptionalN)AttributeNames)VAO)      ?r   r   )        r   r   Tsizecenternormalsuvsname
attr_namesreturnc                     | \  }}}|dz  |dz  |dz  }}}t          j        g |d         |z   |d         |z
  |d         |z   |d         |z   |d         |z   |d         |z   |d         |z
  |d         |z
  |d         |z   |d         |z   |d         |z   |d         |z   |d         |z
  |d         |z   |d         |z   |d         |z
  |d         |z
  |d         |z   |d         |z   |d         |z
  |d         |z
  |d         |z   |d         |z   |d         |z
  |d         |z   |d         |z
  |d         |z   |d         |z   |d         |z   |d         |z
  |d         |z   |d         |z   |d         |z   |d         |z   |d         |z
  |d         |z   |d         |z   |d         |z
  |d         |z
  |d         |z   |d         |z
  |d         |z   |d         |z
  |d         |z
  |d         |z   |d         |z   |d         |z
  |d         |z
  |d         |z
  |d         |z
  |d         |z   |d         |z
  |d         |z
  |d         |z
  |d         |z
  |d         |z
  |d         |z   |d         |z
  |d         |z   |d         |z   |d         |z
  |d         |z   |d         |z
  |d         |z
  |d         |z
  |d         |z   |d         |z
  |d         |z   |d         |z
  |d         |z
  |d         |z
  |d         |z
  |d         |z   |d         |z   |d         |z
  |d         |z   |d         |z
  |d         |z
  |d         |z
  |d         |z
  |d         |z
  |d         |z   |d         |z   |d         |z
  |d         |z
  |d         |z
  |d         |z
  |d         |z
  |d         |z   |d         |z
  |d         |z   |d         |z   |d         |z
  |d         |z
  |d         |z   |d         |z
  |d         |z   |d         |z   |d         |z   |d         |z
  |d         |z   |d         |z
  |d         |z
  |d         |z   |d         |z   |d         |z   |d         |z   |d         |z   t           j                  }	|r"t          j        g dt           j                  }
|r"t          j        g dt           j                  }t          |pd          }|                    |	d	|j        g           |r|                    |
d	|j        g           |r|                    |d
|j        g           |S )a  Creates a cube VAO with normals and texture coordinates

    Keyword Args:
        width (float): Width of the cube
        height (float): Height of the cube
        depth (float): Depth of the cube
        center: center of the cube as a 3-component tuple
        normals: (bool) Include normals
        uvs: (bool) include uv coordinates
        name (str): Optional name for the VAO
        attr_names (AttributeNames): Attribute names
    Returns:
        A :py:class:`moderngl_window.opengl.vao.VAO` instance
    g       @r         )dtype)lr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Hr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   zgeometry:cube3f2f)numpyarrayfloat32r   bufferPOSITIONNORMAL
TEXCOORD_0)r   r	   r
   r   r   r   widthheightdepthposnormal_datauvs_datavaos                X/home/agentuser/manim-venv/lib/python3.11/site-packages/moderngl_window/geometry/cube.pycuber%   	   sW	   ,  E65 3;eck56E + %q	E%!!9v-%/5ay5/@%q	E%!!9v-%/5ay5/@% 	q	E% "!9v-% 06ay5/@% 	q	E	% "!9v-	% 06ay5/@	%
 	q	E%
 "!9v-%
 06ay5/@% 	q	E% "!9v-% 06ay5/@% 	q	E% "!9v-% 06ay5/@% 	q	E% "!9v-% 06ay5/@% 	q	E% "!9v-% 06ay5/@% 	q	E% "!9v-% 06ay5/@% 	q	E% "!9v-% 06ay5/@% 	q	E% "!9v-% 06ay5/@% 	q	E% "!9v-% 06ay5/@% 	q	E% "!9v-% 06ay5/@% 	q	E% "!9v-% 06ay5/@%  	q	E!%  "!9v-!%  06ay5/@!%" 	q	E#%" "!9v-#%" 06ay5/@#%$ 	q	E%%$ "!9v-%%$ 06ay5/@%%& 	q	E'%& "!9v-'%& 06ay5/@'%( 	q	E)%( "!9v-)%( 06ay5/@)%* 	q	E+%* "!9v-+%* 06ay5/@+%, 	q	E-%, "!9v--%, 06ay5/@-%. 	q	E/%. "!9v-/%. 06ay5/@/%0 	q	E1%0 "!9v-1%0 06ay5/@1%2 	q	E3%2 "!9v-3%2 06ay5/@3%4 	q	E5%4 "!9v-5%4 06ay5/@5%6 	q	E7%6 "!9v-7%6 06ay5/@7%8 	q	E9%8 "!9v-9%8 06ay5/@9%: 	q	E;%: "!9v-;%: 06ay5/@;%< 	q	E=%< "!9v-=%< 06ay5/@=%> 	q	E?%> "!9v-?%> 06ay5/@?%@ 	q	EA%@ "!9v-A%@ 06ay5/@A%B 	q	EC%B "!9v-C%B 06ay5/@C%D 	q	EE%D "!9v-E%D 06ay5/@E%F 	q	EG%F "!9v-G%F 06ay5/@G%H 	q	EI%H "!9v-I%H 06ay5/@I%J ]K% % %CN  & k %#
 %#
 %#
J K%  %  % N  & ; % 
 % 
 % 
J K%  %  % P d%o
&
&C JJsD:./000 ;

;z'8&9:::
 <

8TJ$9#:;;;J    )typingr   r   moderngl_window.geometryr   moderngl_window.opengl.vaor   tuplefloatboolstrtyper%    r&   r$   <module>r0      s           3 3 3 3 3 3 * * * * * * (7)8'5[ [
ue#
$[%%&[ [ 
	[
 3-[ ^$[ 	[ [ [ [ [ [r&   