Ë
    :vžjV  ã                   óp   — d dl Z 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l	m
Z
 ddlmZ  G d„ d	«      Zy)
é    N)ÚTemplate)ÚCalledProcessErrorÚcheck_output)ÚNamedTemporaryFileé   )Úexchange)Úlogc                   ó&   — e Zd Zdd„Zd„ Zd„ Zd„ Zy)Ú
MeshScriptc                 óJ   — || _         || _        || _        || _        || _        y )N)ÚdebugÚkwargsÚmeshesÚscriptr   )Úselfr   r   r   r   r   s         úk/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/trimesh/interfaces/generic.pyÚ__init__zMeshScript.__init__   s%   € ØˆŒ
ØˆŒØˆŒØˆŒØ ˆ�ó    c           	      ó`  — t        t        t        | j                  «      «      «      }t        t        | j                  «      «      D �cg c]9  }t	        d| j
                  › �t        |«      j                  |«      › d�dd¬«      ‘Œ; c}| _        t	        d| j
                  › �dd¬«      | _        t	        dd¬«      | _	        t        | j                  | j                  «      D ]!  \  }}|j                  |j                  ¬	«       Œ# t        | j                  «      D ��ci c]  \  }}d
t        |«      z   |j                  “Œ  c}}| _        t        | j                  D �cg c]  }|j                  ‘Œ c}«      | j                  d<   | j                  j                  | j                  d<   | j                  j                  | j                  d<   t        | j                   «      j#                  | j                  «      }t%        j&                  «       dk(  r|j)                  dd«      }| j                  j+                  |j-                  d«      «       | j                  j/                  «        | j                  j/                  «        | j                  D ]  }|j/                  «        Œ | S c c}w c c}}w c c}w )NÚ.Ú_ÚwbF)ÚsuffixÚprefixÚmodeÚdeleteÚrb)r   r   r   )r   r   )Úfile_objÚMESH_ÚMESH_PREÚ	MESH_POSTÚSCRIPTÚWindowsÚ\z\\zutf-8)ÚlenÚstrr   Úranger   r   ÚzfillÚmesh_preÚ	mesh_postÚ
script_outÚzipÚexportÚnameÚ	enumerateÚreplacementr   r   Ú
substituteÚplatformÚsystemÚreplaceÚwriteÚencodeÚclose)r   Údigit_countÚiÚmeshr   ÚmÚscript_texts          r   Ú	__enter__zMeshScript.__enter__   s(  € ô
 œ#œc $§+¡+Ó.Ó/Ó0ˆô œ3˜tŸ{™{Ó+Ô,ó
ñ -�ô Ø˜4Ÿ=™=˜/Ð*Ü˜a›&Ÿ,™, {Ó3Ð4°AÐ6ØØö	ð -ñ
ˆŒô ,Ø�t—}‘}�oÐ&¨T¸%ô
ˆŒô -°$¸uÔEˆŒô " $§+¡+¨t¯}©}Ö=‰NˆD�(Ø�K‰K §¡ˆKÕ/ð >ô BKÈ4Ï=É=ÔAYÔZÑAY¹¸¸A˜G¤c¨!£fÑ,¨a¯f©fÑ4ÐAYÒZˆÔÜ'*¸D¿MºMÓ+J¹M°q¨A¯F«F¸MÑ+JÓ'Kˆ×Ñ˜Ñ$Ø(,¯©×(;Ñ(;ˆ×Ñ˜Ñ%Ø%)§_¡_×%9Ñ%9ˆ×Ñ˜Ñ"ä˜tŸ{™{Ó+×6Ñ6°t×7GÑ7GÓHˆÜ�?‰?Ó 	Ò)Ø%×-Ñ-¨d°FÓ;ˆKØ�‰×Ñ˜k×0Ñ0°Ó9Ô:ð 	�‰×ÑÔØ�‰×ÑÔØŸœˆHØ�N‰NÕð &àˆùòC
ùó$ [ùÚ+Js   Á>J Ä#J%ÅJ+c                 ó(  — |j                  «       D �cg c]&  }t        |«      j                  | j                  «      ‘Œ( }}d }t	        j
                  «       dk(  r7t        j                  «       }|xj                  t        j                  z  c_        | j                  r3t        j                  dj                  dj                  |«      «      «       	 t        |t        j                   |¬«      }| j                  r#t        j                  |j)                  «       «       t+        j,                  j.                  | j0                  j2                  fi | j4                  ¤Ž}|S c c}w # t"        $ r(}t%        |j&                  j)                  «       «      ‚d }~ww xY w)Nr#   zexecuting: {}Ú )ÚstderrÚstartupinfo)Úsplitr   r1   r0   r2   r3   Ú
subprocessÚSTARTUPINFOÚdwFlagsÚSTARTF_USESHOWWINDOWr   r	   ÚinfoÚformatÚjoinr   ÚSTDOUTr   ÚRuntimeErrorÚoutputÚdecoder   ÚloadÚ	load_meshr*   r.   r   )r   ÚcommandÚpartÚcommand_runrA   rL   ÚEÚmesh_resultss           r   ÚrunzMeshScript.run=   s2  € ð ELÇMÁMÄOó
ÙDS¸DŒH�T‹N×%Ñ% d×&6Ñ&6Õ7ÀOð 	ð 
ð ˆÜ�?‰?Ó 	Ò)Ü$×0Ñ0Ó2ˆKØ×Ò¤:×#BÑ#BÑBÕà�:Š:Ü�H‰H�_×+Ñ+¨C¯H©H°[Ó,AÓBÔCð	2Ü!Ø¤J×$5Ñ$5À;ôˆFð �:Š:Ü�H‰H�V—]‘]“_Ô%ô  —}‘}×.Ñ.¨t¯~©~×/BÑ/BÑRÀdÇkÁkÑRˆàÐùò5
øô  "ò 	2ä˜qŸx™xŸ™Ó0Ó1Ð1ûð	2ús   “+EÃE  Å 	FÅ)#FÆFc                 óz  — | j                   r-t        j                  d| j                  j                  › �«       y t        j                  | j                  j                  «       | j                  D ]!  }t        j                  |j                  «       Œ# t        j                  | j                  j                  «       y )NzMeshScript.debug: not deleting )	r   r	   rG   r+   r.   ÚosÚremover)   r*   )r   Úargsr   r   s       r   Ú__exit__zMeshScript.__exit__\   sw   € Ø�:Š:Ü�H‰HÐ6°t·±×7KÑ7KÐ6LÐMÔNØô 	�	‰	�$—/‘/×&Ñ&Ô'ØŸœˆHÜ�I‰I�h—m‘mÕ$ð &ä
�	‰	�$—.‘.×%Ñ%Õ&r   N)ÚstlF)Ú__name__Ú
__module__Ú__qualname__r   r=   rU   rZ   © r   r   r   r      s   „ ó!ò'òRó>	'r   r   )rW   r2   rC   Ústringr   r   r   Útempfiler   Ú r   Úutilr	   r   r_   r   r   Ú<module>rd      s)   ðÛ 	Û Û Ý ß 7Ý 'å Ý ÷Y'ò Y'r   