
    h                    n    S SK Jr  S SKJrJrJr  SSKJrJrJ	r	J
r
JrJr  SSKJr   " S S5      rS
S jrg	)    )annotations)IteratorCallableAny   )
AcisEntityNONE_REFFaceCoedgeLoopVertex)sabc                  .   \ rS rSr\S4SS jjr\SS j5       rSS jrSS jr	SS jr
\4SS jjr\4     SS	 jjr\4     SS
 jjr\SSS jj5       rSSS jjr\SS j5       r\S S!S jj5       r\SS"S jj5       r\S#S j5       rS$S jrS%S jrSrg)&AcisDebugger   r   c                    US-
  U l         Xl        [        5       U l        UR                  (       d  U R                  U5        g g Nr   )_next_id_rootdictentitiesis_none_store_entities)selfrootstart_ids      @/var/www/html/env/lib/python3.13/site-packages/ezdxf/acis/dbg.py__init__AcisDebugger.__init__   s5     1!%
/3v||  &     c                    U R                   $ N)r   r   s    r   r   AcisDebugger.root   s    zzr    c                D    U =R                   S-  sl         U R                   $ r   )r   r#   s    r   _get_idAcisDebugger._get_id   s    }}r    c                T   UR                   (       d%  UR                  S:X  a  U R                  5       Ul        XR                  UR                  '   [	        U5      R                  5        H=  n[        U[        5      (       d  M  UR                  S:X  d  M,  U R                  U5        M?     g )N)	r   idr&   r   varsvalues
isinstancer   r   )r   entityes      r   r   AcisDebugger._store_entities    sl    ~~&))r/FI#)fii f$$&A!Z((QTTRZ$$Q' 'r    c                f    U R                   R                  5         Xl        U R                  U5        g r"   )r   clearr   r   )r   r.   s     r   set_entitiesAcisDebugger.set_entities(   s%    
V$r    c              #     ^^#    SUU4S jjmUR                   (       a  U R                  n[        5       mT" U5       S h  vN   g  N7f)Nc              3  &  >#    U R                   (       a  g U v   TR                  U R                  5        [        U 5      R	                  5        H<  n[        U[        5      (       d  M  UR                  T;  d  M,  T" U5       S h  vN   M>     g  N	7fr"   )r   addr*   r+   r,   r-   r   )r.   r/   _walkdones     r   r8    AcisDebugger.walk.<locals>._walk.   sd     ~~LHHVYY&\((*a,,T1A$Qx'' +'s   A!B(B:BB
B)r.   r   )r   r   set)r   r   r8   r9   s     @@r   walkAcisDebugger.walk-   s6     	( 	( <<::D;s   <A AAc              #     #    UR                   (       a  U R                  n[        XR                  U5      5       S h  vN   g  N7fr"   r   r   filterr<   )r   funcr.   s      r   r@   AcisDebugger.filter<   s.      >>ZZF$		& 1222s   ;AAAc              #     ^#    UR                   (       a  U R                  n[        U4S jU R                  U5      5       S h  vN   g  N7f)Nc                "   > U R                   T:H  $ r"   )type)xnames    r   <lambda>*AcisDebugger.filter_type.<locals>.<lambda>H   s    AFFdNr    r?   )r   rG   r.   s    ` r   filter_typeAcisDebugger.filter_typeC   s2      >>ZZF2DIIf4EFFFs   A AA	Ac              #     #    SU-  n[        U 5      R                  5        H  u  p4US:X  a  M  U U SU 3v   M     g 7f)N r*   z: )r+   items)r.   indent
indent_strrG   datas        r   entity_attributesAcisDebugger.entity_attributesJ   sF     6\
v,,,.JDt|Lb// /s   <>c              #  .  #    SU-  nUR                   (       d  [        U R                  U5      5      nSn/ n/ nU H  nU R                  R	                  U5      n	U	c	  USU S3-  n[        U	[        5      (       aG  U R                  U	5      n
UR                  U
;   a  UR                  U5        Ms  UR                  U5        M  USU S3-  nM     U(       a  SU SU 3nU [        U5       SU SU 3v   UR                  nUR                   (       d  M  g g 7f)	NrM    z face z does not exist;z entity z is not a face;zunlinked partner faces:  >> )r   listpartner_facesr   getr-   r
   r*   appendstr	next_face)r   facerO   rP   rX   errorlinked_partner_facesunlinked_partner_facespface_idpfacereverse_facess              r   face_link_structure AcisDebugger.face_link_structureR   s    6\
,, !3!3D!9:ME#% %'")))(3=vhZ/?@@EeT**$($6$6u$=Mww-/,33H=.55h?xzAAE * &23I2J!E7SLT4awGG>>D) ,,,s   DDDc              #  X  #    / nU R                   nUR                  (       dE  UR                  S UR                  5        5       5        UR                  nUR                  (       d  ME  U H<  nUR                  5        H%  nUR                   R                  R                  v   M'     M>     g 7f)Nc              3  $   #    U  H  ov   M     g 7fr"    .0cos     r   	<genexpr>-AcisDebugger.partner_faces.<locals>.<genexpr>p        7"2   )loopr   extendcoedges	next_looppartner_coedgesr]   r*   )r]   rr   rp   coedgepartner_coedges        r   rX   AcisDebugger.partner_facesk   s}      "yy,,NN777>>D ,,, F"("8"8":$))..111 #; s   A#B*'AB*c           
     d   / n/ nU R                   nUR                  (       dE  UR                  S UR                  5        5       5        UR                  nUR                  (       d  ME  U H  nUR
                  nUR                  nUR                  SUR                   SUR                   SU 35        UR                  5        HI  nUR
                  n	UR                  n
UR                  SUR                   SU	R                   SU
 35        MK     M     SU-  nU Vs/ s H  oU-   PM	     sn$ s  snf )Nc              3  $   #    U  H  ov   M     g 7fr"   rh   ri   s     r   rl   0AcisDebugger.coedge_structure.<locals>.<genexpr>}   rn   ro   zCoedge=z edge=z sense=z    Partner Coedge=rM   )
rp   r   rq   rr   rs   edgesenserZ   r*   rt   )r]   identlinesrr   rp   ru   edge1sense1rv   edge2sense2	ident_strlines                r   coedge_structureAcisDebugger.coedge_structurev   s    "yy,,NN777>>D ,,, FKKE\\FLL7699+VEHH:WVHMN"("8"8":&++'--).*;*;)<F588*GTZS[\ #;	  %K	-23UTD U333s   D-c                V    SU-  nU U  S[        [        R                  U 5      5       3$ )NrM   rV   )rW   r   
loop_edges)rp   rO   rP   s      r   loop_verticesAcisDebugger.loop_vertices   s1    6\
dV4\-D-DT-J(K'LMMr    c              #  h  #    U R                   nUnUR                  (       d  UR                  nUR                  nUR                  nUR
                  (       a  UR                  UR                  /v   OUR                  UR                  /v   UR                  nXL a  g UR                  (       d  M  g g 7fr"   )ru   r   r{   start_vertex
end_vertexr|   r*   next_coedge)rp   ru   firstr{   svevs         r   r   AcisDebugger.loop_edges   s     ..;;D""BB||uubeen$uubeen$''F ...s   B,B20B2c           
   #    #    S U R                   R                  5        5        Ha  nUR                  nUR                  nUR                  nU SUR
                   SUR
                   SUR
                   SUR                   3	v   Mc     g 7f)Nc              3  T   #    U  H  n[        U[        5      (       d  M  Uv   M      g 7fr"   )r-   r   )rj   r/   s     r   rl   7AcisDebugger.vertex_to_edge_relation.<locals>.<genexpr>   s      
-!Av1FAA-s   (	(z: parent edge is z; z => )r   r,   r{   r   r   r*   curve)r   vertexr{   r   r   s        r   vertex_to_edge_relation$AcisDebugger.vertex_to_edge_relation   sy     
}}++-
F ;;D""BBH-dggYbtBEE7"TZZLYY
s   BB
c                r    U R                  S5       H"  n[        UR                  5       5      S:  d  M"    g   g)Nru   r   FT)rJ   lenrt   )r   ru   s     r   is_manifoldAcisDebugger.is_manifold   s5    &&x0F6))+,q0 1 r    )r   r   r   N)r   r   r   int)returnr   )r   r   )r.   r   r   None)r   r   r   zIterator[AcisEntity])rA   zCallable[[AcisEntity], bool]r.   r   r   Iterator[Any])rG   r[   r.   r   r   r   )r   )r.   r   rO   r   r   Iterator[str])r]   r
   rO   r   r   r   )r]   r
   r   zIterator[int])   )r]   r
   r}   r   r   z	list[str])rp   r   rO   r   r   r[   )rp   r   r   zIterator[list[int]])r   r   )r   bool)__name__
__module____qualname____firstlineno__r	   r   propertyr   r&   r   r3   r<   r@   rJ   staticmethodrR   rd   rX   r   r   r   r   r   __static_attributes__rh   r    r   r   r      s    *2A '  (%
 '/   HP303:D3	3 /7GG!+G	G 0 0"2 2 2 4 4* N N  Zr    r   c              #  ^  #    S n[         R                  " U 5      nUR                  5       nUR                  5        S h  vN   Sn UR	                  5        H  nSU 3v   U" U5       S h  vN   US-  nM!     g  N; N! [         R
                   a  n[        U5      v    S nAg S nAff = f7f)Nc              3  t   #    U  H.  u  p[         R                  " U5      R                  nU SU 3v   M0     g 7f)Nz = )r   TagsrG   )r/   tagvaluerG   s       r   entity_data%dump_sab_as_text.<locals>.entity_data   s5     JC88C=%%DF#eW%% s   68r   z--------------------- record: r   )r   Decoderread_headerdumpsread_recordsParsingErrorr[   )rQ   r   decoderheaderindexrecordr/   s          r   dump_sab_as_textr      s     &
 kk$G  "F||~E**,F25'::"6***QJE - 
 + !fsL   =B-A; B-%A? ,A=-A? :B-=A? ?B*B% B-%B**B-N)rQ   bytesr   r   )
__future__r   typingr   r   r   r   r   r	   r
   r   r   r   rU   r   r   r   rh   r    r   <module>r      s1    # * *  ^ ^Br    