U
    ©È•dP  ã                   @   sJ   d dl Z d dlmZ ddd„Zddd„Zddd	„Zdd
d„Zddd„ZdS )é    N©r   r   éÿ   é   c                 C   sì   | j \}}}|| dk s<|| |ks<|| dk s<|| |kr@dS t|| ƒt|| ƒf}	t|| ƒt|| ƒf}
t|| ƒt|| ƒf}t|| ƒt|| ƒf}t | |	|
||¡ t | |
|||¡ t | ||||¡ t | ||	||¡ dS ©ú{
    Draws a square on the image
    :param image:
    :param x:
    :param y:
    :param color:
    :param thickness:
    r   N©ÚshapeÚintÚcv2Úline)ÚimageÚxÚyÚsizeÚcolorÚ	thicknessÚhÚwÚ_ÚtlÚtrÚbrÚbl© r   ú5/home/daniela/catkin_ws/src/hpe/scripts/utils/draw.pyÚdrawSquare2D   s    
0r   c                 C   s¸   | j \}}}|| dk s<|| |ks<|| dk s<|| |kr@dS t|| ƒt|ƒf}	t|| ƒt|ƒf}
t|ƒt|| ƒf}t|ƒt|| ƒf}t | |	|
||¡ t | ||||¡ dS r   r   )r   r   r   r   r   r   r   r   r   ÚleftÚrightÚtopÚbottomr   r   r   ÚdrawCross2D!   s    
0r    c                 C   sÈ   | j \}}}|| dk s<|| |ks<|| dk s<|| |kr@dS t|| ƒt|| ƒf}	t|| ƒt|| ƒf}
t|| ƒt|| ƒf}t|| ƒt|| ƒf}t | |	|||¡ t | |
|||¡ dS r   r   )r   r   r   r   r   r   r   r   r   Ztop_leftZ	top_rightZbottom_leftZbottom_rightr   r   r   ÚdrawDiagonalCross2D:   s    
0r!   c                 C   s   ||f}t  | ||||¡ dS )r   N)r
   Úcircle)r   r   r   r   r   r   Zcenter_coordinatesr   r   r   Ú
drawCircleS   s    r#   çš™™™™™¹?Fc           
      C   sT  |dkrx| j ||| g||g||gdd}| j ||g||| g||gdd}| j ||g||g||| gdd}	|||	gS |d d  ||| g¡ |d d  ||g¡ |d d j||gd |d d  ||g¡ |d d  ||| g¡ |d d j||gd |d	 d  ||g¡ |d	 d  ||g¡ |d	 d j||| gd d S )
NFÚr)r   ÚgÚbr   )Úzsr   é   )ÚplotÚ	set_xdataÚ	set_ydataÚset_3d_properties)
ÚaxÚhandlesÚxcÚycÚzcr   ÚupdateZhandle_xZhandle_yZhandle_zr   r   r   Údraw3Dcoordinatesystemr   s    	"""
r4   )r   r   )r   r   )r   r   )r   r   )r   r   r   r$   F)	r
   Úmatplotlib.pyplotÚpyplotÚpltr   r    r!   r#   r4   r   r   r   r   Ú<module>   s   



