o
    Õj  ć                   @   s    d dl Zd dlmZ d dlZd dlmZ d dl	m
Z
 d dlmZmZmZmZ ej dddddd	e g d
¢”d
fg”dd Zdd Zdd Zdd Zdd ZdS )é    N)Ś
MouseEvent)Śget_dir_vectorŚLine3DCollectionŚPoly3DCollectionŚ_all_points_on_planezzdir, expected)Śx©é   r   r   )Śy©r   r	   r   )Śz©r   r   r	   )N©r   r   r   )©r	   é   é   r   )é   é   é   c                 C   s(   t | }t|tjsJ t ||” d S )N)r   Ś
isinstanceŚnpZndarrayŚnptestZassert_array_equal)ZzdirŚexpectedŚres© r   śf/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/mpl_toolkits/mplot3d/tests/test_art3d.pyŚtest_get_dir_vector   s   	r   c                  C   sō   t  ” } | jdd}d|_d|_d|_d|_g d¢}| |||”}| j 	”  | 
” }|j |”}dD ]E}||_d|_| j 	”  tdD ]3}td	| jg||d d f ¢R  }| |”\}	}
|	du sbJ t|
d
 dkslJ |
d
 d |ksvJ qCq2d S )NŚ3d©Z
projectionr   iÓ’’’T)r   r	   r   r   r   )iŌ’’’iŅ’’’r   Zbutton_press_eventŚindr	   )ŚpltŚfigureŚadd_subplotZrollZelevŚazimŚstaleŚscatterZcanvasZ	draw_idleZget_offsetsZ	transDataŚ	transformŚranger   ŚcontainsŚlen)ŚfigŚaxr   Zscatter_collectionZscatter_offsetZscatter_locationr#   ŚiŚeventr(   r   r   r   r   Ś'test_scatter_3d_projection_conservation   s2   


’ųūr.   c                  C   s   t jg d¢ddt jg d¢ddfg} t jddgddt jddgddt jddgddg}t ” }|jdd}| t| ” |j|d	d
i t ”  d S )N)ē        r/   r/   Śfloat)Zdtype)ē      š?r1   r1   r/   r1   r   r   ŚvisibleF)	r   Zfromiterr    r!   r"   Zadd_collectionr   r%   Śdraw)ŚlcZpcr*   r+   r   r   r   Śtest_zordered_errorA   s   ’žr5   c               	   C   sd  t  g d¢g d¢g d¢g d¢g”} t| j rJ t  g d¢g d¢g d¢g d¢g”} t| j s0J t  g d¢g d¢g d¢ddt jgg”} t| j sJJ t  g d¢g d¢g d¢g”} t| j s_J t  g d¢g d¢g d¢g d¢g”} t| j swJ t  g d¢g d	¢g d
¢g d¢g d¢g d¢g”} t| j sJ t  g d¢g d¢g d¢g d¢g d¢g”} t| j s°J d S )Nr   r   r   r   r   )r   r   r   )r   r   r   )éž’’’r   r   )é’’’’r	   r   )r	   r7   r   )r   r   r   )r	   r	   r   )r	   r   r   )r   Śarrayr   ŚTŚnan)Zpointsr   r   r   Śtest_all_points_on_planeP   s    ""&"’(r;   c                  C   s>   d} t | gddd}t ” }|jdd}| |” t ”  d S )N)r   )r   r   r   )r   r   r   )r   r   r   ŚrT)Z
edgecolorsZshader   r   )r   r    r!   r"   Zadd_collection3dr3   )ZverticesŚshaper*   r+   r   r   r   Śtest_generate_normalso   s   
r>   )Śnumpyr   Znumpy.testingZtestingr   ZpytestZmatplotlib.pyplotZpyplotr    Zmatplotlib.backend_basesr   Zmpl_toolkits.mplot3d.art3dr   r   r   r   ŚmarkZparametrizer8   r   r.   r5   r;   r>   r   r   r   r   Ś<module>   s&    ś
#