a
    r=ic                     @   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   r/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/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 rd}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rt|||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   

?