
    Vfn                    x    d dl mZ d dlmZmZ d dlmZ d dlZ	d dl
mZmZ d dlmZ er
d dlmZmZmZ d	dZd
dZy)    )annotations)TYPE_CHECKINGcastN)FillTypeLineType)codes_from_offsets)
FillReturn
LineReturnLineReturn_Separatec                   |t         j                  t         j                  fv r3t        |  D cg c]  \  }}|	t	        j
                  ||        }}}|S |t         j                  t         j                  fv r;t        |  D cg c]&  \  }}|t	        j
                  |t        |            ( }}}|S |t         j                  k(  rg }t        |  D ]q  \  }}}|
t        j                  ||dd       }t        j                  ||dd       }|t        ||      D cg c]  \  }}t	        j
                  ||       c}}z  }s |S |t         j                  k(  ryg }t        |  D ]j  \  }}}|
t        t        |      dz
        D ]G  }	|||	   ||	dz      dz    }
||
d   |
d    }|t	        j
                  |t        |
|
d   z
              gz  }I l |S t        d| d      c c}}w c c}}w c c}}w )N   r   zConversion of FillType   to MPL Paths is not implemented)r   	OuterCodeChunkCombinedCodezipmpathPathOuterOffsetChunkCombinedOffsetr   ChunkCombinedCodeOffsetnpsplitChunkCombinedOffsetOffsetrangelenRuntimeError)filled	fill_typepointscodespathsoffsetsouter_offsetspcioffsptss               `/var/www/html/software/conda/envs/catlas/lib/python3.12/site-packages/contourpy/util/mpl_util.pyfilled_to_mpl_pathsr+      s*   X'')C)CDD@CVc}vuPVPbFE*cc. L- 
x++X-I-IJ	J(+VL$VW8J F$6w$?@ L L* L' 
h66	6,/L 	G(FE=~XXfmAb&9:FHHUM!B$78E3vu3EF41aejjA&FFE	G" L 
h88	8.16l 	O*FG]~3}-a/0 O}Q/ac0B10DET!WT"X.%**S*<TDG^*LMNNO	O L 4YK?_`aa- dL Gs   
G!G!+G' G-
c                   |t         j                  k(  r_t        rt        t        |       } g }| D ]@  }|d   |d   k(  xr |d   |d   k(  }|j                  t        j                  ||             B |S |t         j                  t         j                  fv r3t        |  D cg c]  \  }}|	t        j                  ||        }}}|S |t         j                  k(  rg }t        |  D ]p  \  }}|	t        t        |      dz
        D ]N  }|||   ||dz       }|d   |d   k(  xr |d   |d   k(  }|j                  t        j                  ||             P r |S |t         j                  k(  rg }| d   D ]  }|t        j                   t        j"                  |d d df               d   }	t        j$                  dg|	t        |      gg      }	t        |	d d |	dd        D ]K  \  }
}||
dz   | }|d   |d   k(  xr |d   |d   k(  }|j                  t        j                  ||             M  |S t'        d	| d
      c c}}w )N)r   r   )r   r   )r   r   )r   r   )closedr   r   r   zConversion of LineType r   )r   Separater   r   r   appendr   r   SeparateCoder   r   r   r   r   ChunkCombinedNanr   nonzeroisnanconcatenater   )lines	line_typer"   liner-   r    r!   r#   r'   nan_offsetsses               r*   lines_to_mpl_pathsr;   +   st   H%%%,e4E 	:D$Z4;.L4:e3LFLLD89	:8 L1 
x,,h.H.HI	I@CUb}vuvOaFE*bb. L- 
h22	2"E{ 	>OFG~3w<>* >gaj16dtE{2PtDzT%[7PUZZV<=>	>( L 
h//	/Ah 	>F~**RXXfQTl%;<Q?K..2$c&k])KLKK,k!"o> >1ac!}dtE{2PtDzT%[7PUZZV<=>	> L 4YK?_`aa- cs    
I+I)r   r	   r   r   returnlist[mpath.Path])r5   r
   r6   r   r<   r=   )
__future__r   typingr   r   matplotlib.pathpathr   numpyr   	contourpyr   r   contourpy.arrayr   contourpy._contourpyr	   r
   r   r+   r;        r*   <module>rH      s*    " &   ( .PP8!rG   