Ë
    :vžj1  ã                   óÊ   — d dl Z d dlZddlmZ ddlmZmZ ddlmZ 	 	 	 	 ddededz  d	edz  d
e	dz  de	de
fd„Z	 d dlZeedœZy# e$ rZ ee«      ZeedœZY dZ[ydZ[ww xY w)é    Né   )ÚExceptionWrapper)ÚBinaryIOÚNumberé   )Úload_glbÚfile_objÚ
tol_linearÚtol_angularÚtol_relativeÚmerge_primitivesÚreturnc                 ón  — t        j                  «       5 }t        j                  j	                  |d«      }t        |d«      5 }	|	j                  | j                  «       «       ddd«       t        j                  j	                  |d«      }
t        |«      |||dœ}t        j                  ||
fi |j                  «       D ��ci c]  \  }}|€Œ	||“Œ c}}¤Ž t        |
d«      5 }	t        d|	|dœ|¤Žcddd«       cddd«       S # 1 sw Y   Œ¢xY wc c}}w # 1 sw Y   nxY w	 ddd«       y# 1 sw Y   yxY w)	a6  
    Use `cascadio` a packaged version of OpenCASCADE
    to load a STEP file using GLB as an intermediate.

    Parameters
    -----------
    file_obj
      STEP file to load.
    **kwargs
      Passed to `cascadio.step_to_glb`

    Returns
    ----------
    kwargs
      Keyword arguments for a Scene.
    z	data.stepÚwbNzconverted.glb)r   r
   r   r   Úrb)r	   r   © )ÚtempfileÚTemporaryDirectoryÚosÚpathÚjoinÚopenÚwriteÚreadÚboolÚcascadioÚstep_to_glbÚitemsr   )r	   Ú	file_typer
   r   r   r   ÚkwargsÚFÚstepfileÚfÚglbfileÚcascadio_kwargsÚkÚvs                 úi/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/trimesh/exchange/cascade.pyÚ	load_stepr)      s  € ô6 
×	$Ñ	$Ô	&¨!ä—7‘7—<‘<  ;Ó/ˆÜ�(˜DÔ! QØ�G‰G�H—M‘M“OÔ$÷ "ô —'‘'—,‘,˜q /Ó2ˆô
 !%Ð%5Ó 6Ø$Ø&Ø(ñ	
ˆô 	×ÑØØñ	
ð !0× 5Ñ 5Ô 7ÔIÑ 7™˜˜1¸1¹=ˆq�!‰tÐ 7ÒIò	
ô �'˜4Ô  AäÐT QÐ9IÑTÈVÑT÷ !Ð ÷1 
'Ñ	&÷ "Ð!üó$ J÷ !Ð úÐ ÷1 
'×	&Ñ	&úsN   •-D+Á DÁ"AD+Ã 
DÃDÃD+Ã"DÃ0	D+ÄD	ÄD+ÄD	ÄD+Ä+D4)ÚstpÚstep)NNFT)r   r   Ú
exceptionsr   Útypedr   r   Úgltfr   r   Údictr)   r   Ú_cascade_loadersÚBaseExceptionÚEÚwrapperr   ó    r(   Ú<module>r5      s¯   ðÛ 	Û å )ß $õ ð !%Ø!%Ø %Ø!ñ5UØð5Uð ˜‘ð5Uð ˜$‘ð	5Uð
 ˜‘+ð5Uð ð5Uð 
ó5Uðp9ãà(°)Ñ<ÑøØò 9Ù˜qÓ!€GØ&°Ñ8Õûð9ús   ¼	A ÁA"ÁAÁA"