
    j                         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j        g d
          d
fg          d             Zd Zd Zd Z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                     t          |           }t          |t          j                  sJ t	          j        ||           d S )N)r   
isinstancenpndarraynptestassert_array_equal)zdirexpectedress      j/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/mpl_toolkits/mplot3d/tests/test_art3d.pytest_get_dir_vectorr       sB     

Cc2:&&&&&
c8,,,,,    c            	         t          j                    } |                     d          }d|_        d|_        d|_        d|_        g d}|                    |||          }| j        	                                 |
                                }|j                            |          }dD ]}||_        d|_        | j        	                                 t          d          D ]l}t          d	| j        g||d d f         R  }|                    |          \  }	}
|	du sJ t!          |
d
                   dk    sJ |
d
         d         |k    sJ md S )N3d
projectionr   iT)r   r
   r   r   r   )iir   button_press_eventindr
   )pltfigureadd_subplotrollelevazimstalescattercanvas	draw_idleget_offsets	transData	transformranger   containslen)figaxr   scatter_collectionscatter_offsetscatter_locationr-   ieventr6   r'   s              r   'test_scatter_3d_projection_conservationr?      s   
*,,C	D	)	)BBGBGBGBHAAq!,,J (3355N|--n==  & &
q 	& 	&A 3SZ 8 0AAA 68 8 8E.77>>MHct####s5z??a''''u:a=A%%%%%	&& &r!   c                     t          j        g dd          t          j        g dd          fg} t          j        ddgd          t          j        ddgd          t          j        ddgd          g}t          j                    }|                    d          }|                    t          |                       |j        |d	d
i t          j                     d S )N)        rA   rA   float)dtype)      ?rD   rD   rA   rD   r#   r$   visibleF)	r   fromiterr(   r)   r*   add_collectionr   r/   draw)lcpcr8   r9   s       r   test_zordered_errorrK   A   s    ;g666;g6668 
9B
+sCj
0
0
0
+sCj
0
0
0
+sCj
0
0
0
2B *,,C	D	)	)B&r**+++BJ"E"""HJJJJJr!   c            	         t          j        g dg dg dg dg          } t          | j         rJ t          j        g dg dg dg dg          } t          | j         sJ t          j        g dg dg dddt           j        gg          } t          | j         sJ t          j        g dg dg dg          } t          | j         sJ t          j        g dg dg dg dg          } t          | j         sJ t          j        g dg d	g d
g dg dg dg          } t          | j         sJ t          j        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
   rN   r   )r   r   r   )r
   r
   r   )r
   r   r   )r   arrayr   Tnan)pointss    r   test_all_points_on_planerS   P   s   Xyyy)))YYY			BCCF#VX.... Xyyy)))YYY			BCCF**** Xyyy)))YYYArvGHHF**** Xyyy)))YYY788F**** Xyyy)))YYY			BCCF**** Xzzz:::zzz yy)))YYY8 9 9F**** Xyyy)))YYY			999MNNF******r!   c                      d} t          | gdd          }t          j                    }|                    d          }|                    |           t          j                     d S )N)r   )r   r   r   )r   r   r   )r   r   r   rT)
edgecolorsshader#   r$   )r   r(   r)   r*   add_collection3drH   )verticesshaper8   r9   s       r   test_generate_normalsr[   o   s^    ;HhZCtDDDE
*,,C	D	)	)BHJJJJJr!   )numpyr   numpy.testingtestingr   pytestmatplotlib.pyplotpyplotr(   matplotlib.backend_basesr   mpl_toolkits.mplot3d.art3dr   r   r   r   markparametrizerO   r    r?   rK   rS   r[    r!   r   <module>rg      s2                    / / / / / /            )RXiii)$,  - - - &  &  &F  + + +>    r!   