
    g                     P    d dl Zd dlmZ d dlmZ d dlmZm	Z	m
Z
 d Zd Zd Zd Zy)    N)
MouseEvent)Line3DCollectionPoly3DCollection_all_points_on_planec            	      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   iT)r               )ii   button_press_eventindr   )pltfigureadd_subplotrollelevazimstalescattercanvas	draw_idleget_offsets	transData	transformranger   containslen)figaxxscatter_collectionscatter_offsetscatter_locationr   ieventr    r   s              b/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/mpl_toolkits/mplot3d/tests/test_art3d.py'test_scatter_3d_projection_conservationr+      s<   
**,C	D	)BBGBGBGBHAAq!,JJ (335N||--n=  &

q 	&A 3SZZ 8 0A 68E.77>MHct###s5z?a'''u:a=A%%%	&&    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        |               |j                  |d	d
i t        j                          y )N)        r.   r.   float)dtype)      ?r1   r1   r.   r1   r   r	   visibleF)	npfromiterr   r   r   add_collectionr   r   draw)lcpcr"   r#   s       r*   test_zordered_errorr9   0   s    ;;g6;;g68 
9B
++sCj
0
++sCj
0
++sCj
0
2B **,C	D	)B&r*+BJJ"E"HHJr,   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 )Nr   r   r   )r   r   r   )r   r   r   )r   r   r   r   )r   r   r   )r   r   r   )r   r   )r   r   )r   r=   r   )r   r   r   )r   r   r   )r   r   r   )r3   arrayr   Tnan)pointss    r*   test_all_points_on_planerB   ?   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                      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_collection3dr6   )verticesshaper"   r#   s       r*   test_generate_normalsrJ   ^   sI    ;HhZCtDE
**,C	D	)BHHJr,   )numpyr3   matplotlib.pyplotpyplotr   matplotlib.backend_basesr   mpl_toolkits.mplot3d.art3dr   r   r   r+   r9   rB   rJ    r,   r*   <module>rQ      s-      /  &F+>r,   