a
    ìÝEbþ  ã                   @   sV   d dl Zd dlmZ d dlmZ d dlZejdedd� dd„ Zddd„Z	dd„ Z
dS )é    N)Údegrees)Ú_apiz3.5Úmodule)ÚnameÚobj_typec                 C   s.   |dkr| dkrt  d¡ dS t | |¡S d S )Nr   zdx and dy are 0)r   Zwarn_externalÚmathÚatan2)ÚdyÚdx© r   úa/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/mpl_toolkits/axisartist/clip_path.pyr   
   s    
r   ÚrightTc                 C   sÞ  g }g }g }|rdnd}	|r dnd}
t | |ƒD �]¢\}}|dv rh||k  d¡}|dd … |d d…  }n&||k d¡}|dd … |d d…  }|d rœd}nd}g g  }}t |¡D �]Ú\}|| }|dk�rÌ|||  }||d  ||  |||d  ||    }|| | }| t ||||d … |gg¡¡ | t ||||d … |gg¡¡ d}g g  }}|dk�r¤|dk�r¤||d  ||  }||d  ||  }tt|
| |	| ƒƒ}| |||f¡ q´|dkr´|||  }||d  ||  |||d  ||    }|| | }|g|g }}|d }|dk�rj|dk�rj||d  ||  }||d  ||  }tt|
| |	| ƒƒ}| |||f¡ q´|dkr.| t |||d … g¡¡ | t |||d … g¡¡ q.|||fS )Né   éÿÿÿÿ)Úupr   Úir   g        )ÚzipZastypeÚnpZargwhereÚappendZconcatenater   r   )ZxlinesZylinesÚx0ÚclipÚxdirÚydirZclipped_xlinesZclipped_ylinesZ_pos_anglesZxsignZysignÚxÚyÚbÚdbÚnsZsegxZsegyr   Úcr
   r	   Úy0Úar   r   r   r      sZ    

,$$
,r   c                    sl  ˆ j \}}}}||k}||k}||kr`t| g|g|d||d�\}	}
}t|	|
|d||d�\}}}n8t| g|g|d||d�\}	}
}t|	|
|d||d�\}}}||krÖt|||d||d�\}}}t|||d||d�\}}}n4t|||d||d�\}}}t|||d||d�\}}}‡ fdd„|D ƒ}‡ fdd„|D ƒ}‡ fdd„|D ƒ}‡ fdd„|D ƒ}tt||ƒƒ||||gfS )	Nr   )r   r   r   Úleftc                    s4   g | ],\}}}ˆ   |¡r||f|d  d d  f‘qS ©éZ   é´   ©Z	containsy©Ú.0r   r   r    ©Úbboxr   r   Ú
<listcomp>p   s   
ÿz%clip_line_to_rect.<locals>.<listcomp>c                    s0   g | ](\}}}ˆ   |¡r||fd | d f‘qS r"   ©Z	containsx©r'   r   r   r    r(   r   r   r*   r   s   
ÿc                    s4   g | ],\}}}ˆ   |¡r||f|d  d d  f‘qS r"   r%   r&   r(   r   r   r*   t   s   
ÿc                    s4   g | ],\}}}ˆ   |¡r||fd | d d f‘qS r"   r+   r,   r(   r   r   r*   v   s   
ÿ)Zextentsr   Úlistr   )ZxlineZyliner)   r   r   Úx1Úy1r   r   Zlx1Zly1Zc_right_Zlx2Zly2Zc_left_Zly3Zlx3Zc_top_Zly4Zlx4Z	c_bottom_Zc_leftZc_bottomZc_rightZc_topr   r(   r   Úclip_line_to_rectS   sD    ÿÿÿÿÿÿÿÿr0   )r   TT)Únumpyr   r   r   Z
matplotlibr   Zwarn_deprecatedÚ__name__r   r   r0   r   r   r   r   Ú<module>   s   

?