
    hj                         S SK rS SKJr  S SKrS SKJr  S SK	J
r
  S SKJrJrJrJr  \R                   R#                  SSSSSS	\R$                  " / S
Q5      S
4/5      S 5       rS rS rS rS rg)    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                     [        U 5      n[        U[        R                  5      (       d   e[        R
                  " X!5        g )N)r   
isinstancenpndarraynptestassert_array_equal)zdirexpectedress      h/var/www/html/Sattelite-Image/venv/lib/python3.13/site-packages/mpl_toolkits/mplot3d/tests/test_art3d.pytest_get_dir_vectorr       s3     
Cc2::&&&&
c,    c            	      p   [         R                  " 5       n U R                  SS9nSUl        SUl        SUl        SUl        / SQnUR                  X"U5      nU R                  R                  5         UR                  5       nUR                  R                  U5      nS H  nXal        SUl        U R                  R                  5         [        S5       H\  n[        S	U R                  /XWS S 24   Q76 nUR                  U5      u  pU	SL d   e[!        U
S
   5      S:X  d   eU
S
   S   U:X  a  M\   e   M     g )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A!,JJ (335N||--n= 

qA 3SZZ 8 0A 68E.77>MHt###s5z?a'''u:a=A%%%  r!   c                     [         R                  " / SQSS9[         R                  " / SQSS94/n [         R                  " SS/SS9[         R                  " SS/SS9[         R                  " SS/SS9/n[        R                  " 5       nUR	                  SS9nUR                  [        U 5      5        UR                  " US	S
06  [        R                  " 5         g )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;;g68 
9B
++sCj
0
++sCj
0
++sCj
0
2B **,C	D	)B&r*+JJ"E"HHJr!   c            	      h   [         R                  " / SQ/ SQ/ SQ/ SQ/5      n [        U R                  6 (       a   e[         R                  " / SQ/ SQ/ SQ/ SQ/5      n [        U R                  6 (       d   e[         R                  " / SQ/ SQ/ SQSS[         R                  //5      n [        U R                  6 (       d   e[         R                  " / SQ/ SQ/ SQ/5      n [        U R                  6 (       d   e[         R                  " / SQ/ SQ/ SQ/ SQ/5      n [        U R                  6 (       d   e[         R                  " / SQ/ S	Q/ S
Q/ SQ/ SQ/ SQ/5      n [        U R                  6 (       d   e[         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      n [        U R                  6 (       d   eg )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@   XXy)Y	BCF#VXX... XXy)Y	BCF*** XXy)YArvvGHF*** XXy)Y78F*** XXy)Y	BCF*** XXz:z )Y8 9F*** XXy)Y	9MNF***r!   c                      Sn [        U /SSS9n[        R                  " 5       nUR                  SS9nUR	                  U5        [        R
                  " 5         g )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   sI    ;HhZCtDE
**,C	D	)BHHJr!   )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      s~        /  )XXi)$, -- &F+>r!   