
    kj                         d dl Z d dlmZ d dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
mZ d dlmZmZmZmZ  G d de	          ZdS )	    N)Path)ImproperlyConfigured)
BaseLoader)VAO)MaterialMeshNodeScenec                   ,    e Zd ZdZdgddggZdefdZdS )Loaderstlz.stl.gzreturnc                 |   |                      | j        j                  }|s,t          d                    | j        j                            t          |          }|                    d          rt          j        |          }t          j
        |d          }| j        j        }t          |t                    r|                                }nd}t          |          }t!          d          }t#          d          |_        t'          dt(          j                  }|                    t/          j        |j        d	
          ddg           |                    t/          j        |j        d	
          ddg           |                    t/          j        |j        d
                     ||_        |                    ddd           |                    ddd           |j                             |           |j!                             tE          |                     |#                                 |S )zYLoads and stl scene/file

        Returns:
            Scene: The Scene instance
        zScene '{}' not foundr   r   )	file_typeNmeshdefault)modef4)dtype3fin_position	in_normalu4POSITION   NORMAL)r   )$
find_scenemetapathr   formatstrendswithgzipGzipFiletrimeshloadresolved_path
isinstancer   as_posixr
   r   r   materialr   moderngl	TRIANGLESbuffernumpyarrayverticesvertex_normalsindex_bufferfacesvaoadd_attributemeshesappend
root_nodesr	   prepare)selfr    file_objstl_meshresolvedscene
scene_meshr5   s           \/home/agentuser/manim-venv/lib/python3.11/site-packages/moderngl_window/loaders/scene/stl.pyr'   zLoader.load   s    ty~.. 	V&'='D'DTY^'T'TUUUt99U## 	/}X..H<E:::y&dD!! 	}}HHHh&\\
&y11
&x1222

5;x0===tm_UUU

5;x6dCCCTK=YYYX^4@@@AAA
  ]A>>>  ;:::J'''* 5 5 5666    N)__name__
__module____qualname__kindfile_extensionsr
   r'    rB   rA   r   r      sG        D		O
$e $ $ $ $ $ $rB   r   )r$   pathlibr   r,   r/   r&   moderngl_window.exceptionsr   moderngl_window.loaders.baser   moderngl_window.opengl.vaor   moderngl_window.scener   r   r	   r
   r   rH   rB   rA   <module>rN      s              ; ; ; ; ; ; 3 3 3 3 3 3 * * * * * * = = = = = = = = = = = =+ + + + +Z + + + + +rB   