Ë
    ¸Ó^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                   j#                  dddddd	 ej$                  g d
¢«      d
fg«      d„ «       Zd„ Zd„ Zd„ Zd„ Zy)é    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
                  ||«       y )N)r   Ú
isinstanceÚnpÚndarrayÚnptestÚassert_array_equal)ÚzdirÚexpectedÚress      úp/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/mpl_toolkits/mplot3d/tests/test_art3d.pyÚtest_get_dir_vectorr       s2   € ô ˜Ó
€CÜ�cœ2Ÿ:™:Ô&Ð&Ð&Ü
×Ñ˜c 8Õ,ó    c            	      ón  — t        j                  «       } | j                  d¬«      }d|_        d|_        d|_        d|_        g d¢}|j                  |||«      }| j                  j                  «        |j                  «       }|j                  j                  |«      }dD ]’  }||_        d|_        | j                  j                  «        t        d«      D ]Z  }t        d	| j                  g||d d …f   ¢­Ž }|j                  |«      \  }	}
|	du sJ ‚t!        |
d
   «      dk(  sJ ‚|
d
   d   |k(  rŒZJ ‚ Œ” y )NÚ3d©Ú
projectionr   iÓÿÿÿT)r   r
   r   r   r   )iÔÿÿÿiÒÿÿÿr   Ú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à€B„GØ€B„GØ€B„GØ€B„Hâ€AØŸ™ A q¨!Ó,ÐØ‡J�J×ÑÔð (×3Ñ3Ó5€NØ—|‘|×-Ñ-¨nÓ=Ðð ò &ˆØˆŒØˆŒØ�
‰
×ÑÔä�q“ò 	&ˆAô Ð3°S·Z±Zð 8Ø 0°²A°Ñ 6ò8ˆEà.×7Ñ7¸Ó>‰MˆH�cØ˜tÑ#Ð#Ð#Ü�s˜5‘z“? 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                  «       }|j	                  d¬«      }|j                  t        | «      d	¬
«        |j                  |ddiŽ t        j                  «        y )N)ç        rA   rA   Úfloat)Údtype)ç      ð?rD   rD   rA   rD   r#   r$   Ú_datalim_only)ÚautolimÚvisibleF)	r   Úfromiterr(   r)   r*   Úadd_collectionr   r/   Údraw)ÚlcÚpcr8   r9   s       r   Útest_zordered_errorrM   A   s¹   € ä�;‰;’¨gÔ6Ü�;‰;’¨gÔ6ð8ð 
9€Bä
�+‰+�s˜C�j¨Ô
0Ü
�+‰+�s˜C�j¨Ô
0Ü
�+‰+�s˜C�j¨Ô
0ð
2€Bô �*‰*‹,€CØ	�‰ DˆÓ	)€BØ×ÑÔ& rÓ*°OÐÔDØ€B‡J�J�Ð"˜EÒ"Ü‡H�H…Jr!   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 ‚y )Nr   r	   r   r   r   )r   r   r   )r   r   r   )éþÿÿÿr   r   )éÿÿÿÿr
   r   )r
   rP   r   )r   r   r   )r
   r
   r   )r
   r   r   )r   Úarrayr   ÚTÚnan)Úpointss    r   Útest_all_points_on_planerU   P   s@  € ä�X‰X’y¢)ªYº	ÐBÓC€FÜ# V§X¡XÑ.Ð.Ð.ô �X‰X’y¢)ªYº	ÐBÓC€FÜ §¡Ñ*Ð*Ð*ô �X‰X’y¢)ªY¸¸A¼r¿v¹v¸ÐGÓH€FÜ §¡Ñ*Ð*Ð*ô �X‰X’y¢)ªYÐ7Ó8€FÜ §¡Ñ*Ð*Ð*ô �X‰X’y¢)ªYº	ÐBÓC€FÜ §¡Ñ*Ð*Ð*ô �X‰X’z¢:ªzÚ ¢)ªYð8ó 9€Fä §¡Ñ*Ð*Ð*ô �X‰X’y¢)ªYº	Â9ÐMÓN€FÜ §¡Ñ*Ð*Ñ*r!   c                  ó¼   — d} t        | gdd¬«      }t        j                  «       }|j                  d¬«      }|j	                  |«       t        j
                  «        y )N)r   )r   r   r   )r   r   r   )r   r   r   ÚrT)Ú
edgecolorsÚshader#   r$   )r   r(   r)   r*   Úadd_collection3drJ   )ÚverticesÚshaper8   r9   s       r   Útest_generate_normalsr]   o   sI   € à;€HÜ˜h˜Z°C¸tÔD€Eä
�*‰*‹,€CØ	�‰ DˆÓ	)€BØ×Ñ˜ÔÜ‡H�H…Jr!   )Únumpyr   Únumpy.testingÚtestingr   ÚpytestÚmatplotlib.pyplotÚpyplotr(   Úmatplotlib.backend_basesr   Úmpl_toolkits.mplot3d.art3dr   r   r   r   ÚmarkÚparametrizerQ   r    r?   rM   rU   r]   © r!   r   ú<module>ri      s€   ðÛ Ý Û å å /÷ó ð ‡�×ÑÐ)ØØØØØØ€R‡X�XŠiÓ˜)Ð$ð,ó ñ-óð-ò &òFò+ó>r!   