Ë
    :vžjA  ã                   óÆ   — d dl mZ d dlmZ d dlmZ ddlmZ ddl mZ ddl	m
Z
 dd	lmZ dded
z  fd„Zdee   fd„Zi Zej%                  e«       ej%                  e
«       y
)é   )Úutil)ÚExceptionWrapper)Úload_plyé   )ÚPathé   )Úmisc)Ú_dxf_loaders)Ú_svg_loadersNÚ	file_typec                 óp  — ddl m}m}  |d	| |dœ|¤Ž}t        | t        «      r| S t        j                  |j                  «      r’|j                  t        v r?|j                  t        |j                     |j                  |j                  ¬«      «       �n|j                  dk(  �r|j                  t        |j                  |j                  ¬«      «       nÐt        j                  | ddg«      r%|j                  t        j                  | «      «       n“t        j                  | d«      r%|j                  t        j                  | «      «       nXt        | t         «      r| }nEt        j"                  | «      r%|j                  t        j$                  | «      «       nt'        d«      ‚ ||«      }||_        |S )
ak  
    Load a file to a Path file_object.

    Parameters
    -----------
    file_obj
      Accepts many types:
         - Path, Path2D, or Path3D file_objects
         - open file file_object (dxf or svg)
         - file name (dxf or svg)
         - shapely.geometry.Polygon
         - shapely.geometry.MultiLineString
         - dict with kwargs for Path constructor
         - `(n, 2, (2|3)) float` line segments
    file_type
        Type of file is required if file
        object is passed.

    Returns
    ---------
    path : Path, Path2D, Path3D file_object
      Data as a native trimesh Path file_object
    r   )Ú_load_kwargsÚ_parse_file_args)Úfile_objr   ÚplyÚPolygonÚMultiPolygonÚMultiLineStringzNot a supported object type!© )Úexchange.loadr   r   Ú
isinstancer   r   Úis_filer   r   Úpath_loadersÚupdater   Úis_instance_namedr	   Úpolygon_to_pathÚlinestrings_to_pathÚdictÚis_sequenceÚlines_to_pathÚ
ValueErrorÚ_source)r   r   Úkwargsr   r   ÚargÚresults          úk/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/trimesh/path/exchange/load.pyÚ	load_pathr'   
   sJ  € ÷2 @á
Ð
L H¸	Ñ
LÀVÑ
L€Cä�(œDÔ!ð ˆÜ	�‰�c—l‘lÔ	#Ø�=‰=œLÑ(Ø�M‰MÜ˜SŸ]™]Ñ+Ø Ÿ\™\°S·]±]ôöð
 �]‰]˜eÓ#ð �M‰Mœ(¨C¯L©LÀCÇMÁMÔRÕSÜ	×	Ñ	 ¨9°nÐ*EÔ	Fà�‰”d×*Ñ*¨8Ó4Õ5Ü	×	Ñ	 Ð*;Ô	<à�‰”d×.Ñ.¨xÓ8Õ9Ü	�HœdÔ	#à‰Ü	×	Ñ	˜(Ô	#à�‰”d×(Ñ(¨Ó2Õ3äÐ7Ó8Ð8ñ ˜&Ó!€FØ€F„Nà€Mó    Úreturnc                  ó~   — t         j                  «       D � �ch c]  \  } }t        |t        «      rŒ| ’Œ c}} S c c}} w )z”
    Get a list of supported path formats.

    Returns
    ------------
    loaders
       Extensions of loadable formats, i.e. {'svg', 'dxf'}
    )r   Úitemsr   r   )ÚkÚvs     r&   Úpath_formatsr.   L   s5   € ô '×,Ñ,Ô.ÔVÑ.‘$�!�Q´jÀÔDTÕ6UŠAÐ.ÒVÐVùÓVs   ˜9±9)N)Ú r   Ú
exceptionsr   Úexchange.plyr   Úpathr   r	   Údxfr
   Úsvg_ior   Ústrr'   Úsetr.   r   r   r   r(   r&   Ú<module>r7      s`   ðÝ Ý *Ý $Ý Ý Ý Ý  ñ? 3¨¡:ó ?ðD
W�c˜#‘hó 
Wð €Ø × Ñ �LÔ !Ø × Ñ �LÕ !r(   