+
    i,                         ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHtHtHt ^ RIt ! R R	]4      tR# )
    N)S)ColorScheme)PlotMode)is_sequence)sleep)ThreadEventRLockc                     a  ] tR t^t o Rt  RRutt . t . t Rt	  R^R^R^/t
 Rt R*tR+tRtR tR	 tR
 tR tR tRR/R ltR t]R 4       t]R 4       tR tR tR tR t]R 4       tR tR tR tR t R t!R t"R t#R t$R  t%R! t&R" t'R# t(]R$ 4       t)R% t*]R& 4       t+],! ](])4      t-],! ]*]+4      t.],! ]"4      t/],! ]#4      t0],! ]$4      t1],! ]%4      t2],! ]&4      t3],! ]'4      t4R' t5R( t6R)t7V t8R# ),PlotModeBasezq
Intended parent class for plotting
modes. Provides base functionality
in conjunction with its parent,
PlotMode.
 F	wireframesolidbothxyc                    V P                   '       d    V P                  4       pV# V P                  4       #   \         d)    \        P                  ! R 4        T P                  4       # i ; i)zQ
Warning: creating lambda evaluator failed. Falling back on SymPy subs evaluator.)use_lambda_eval_get_lambda_evaluator	Exceptionwarningswarn_get_sympy_evaluator)selfes   & f/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/plotting/pygletplot/plot_mode_base.py_get_evaluatorPlotModeBase._get_evaluatorm   sl    @..0 ((**  @ ? @((**@s   6 !A)(A)c                    \        4       hNNotImplementedErrorr   s   &r   r   !PlotModeBase._get_sympy_evaluatorw       !##    c                    \        4       hr   r    r"   s   &r   r   "PlotModeBase._get_lambda_evaluatorz   r$   r%   c                    \        4       hr   r    r"   s   &r   _on_calculate_verts PlotModeBase._on_calculate_verts}   r$   r%   c                    \        4       hr   r    r"   s   &r   _on_calculate_cverts!PlotModeBase._on_calculate_cverts   r$   r%   bounds_callbackNc                  . V n         . V n        \        P                  \        P                  ^ .\        P                  \        P                  ^ .\        P                  \        P                  ^ ..V n        \        P                  \        P                  ^ .\        P                  \        P                  ^ .\        P                  \        P                  ^ ..V n        \        4       V n        \        4       V n
        \        4       V n        RV n        RV n        RV n        RV n        ^V n        R.V n        R.V n        RV n        RV n        . V n        . V n        V P.                  P1                  RR4      RJ V n        V P.                  P1                  RR4      V n        V P.                  P1                  RR4      V n        Wn        V P;                  4        R# )	r   g        Nuse_sympy_evalstyler   colorrainbow)vertscvertsr   InfinityNegativeInfinityboundscboundsr
   
_draw_lockr	   _calculating_verts_calculating_cverts_calculating_verts_pos_calculating_verts_len_calculating_cverts_pos_calculating_cverts_len_max_render_stack_size_draw_wireframe_draw_solid_style_colorpredrawpostdrawoptionspopr   r1   r2   r.   _on_calculate)r   r.   argskwargss   &$*,r   __init__PlotModeBase.__init__   st   


A$6$6:

A$6$6:

A$6$6:< Q%7%7;Q%7%7;Q%7%7;=  '"''#(7 &)#&)#'*$'*$&'# "t4#||//0@$G4O\\%%gr2
\\%%gy9
.r%   c                   a  V 3R  lpV# )c                    < V P                   P                  4         S! V .VO5/ VB pVV P                   P                  4        #   T P                   P                  4        i ; ir   )r;   acquirerelease)r   rL   rM   rfs   &*, r   w$PlotModeBase.synchronized.<locals>.w   sP    OO##%*d,T,V,'')'')s   A A! )rU   rV   s   f r   synchronizedPlotModeBase.synchronized   s    	* r%   c                    \        V4      '       g   Q hV P                  P                  V4       \        V P                  4      V P                  8  d   V P                  ^ R# R# zv
Push a function which performs gl commands
used to build a display list. (The list is
built outside of the function)
N)callablerC   appendlenrB   r   functions   &&r   push_wireframePlotModeBase.push_wireframe   sV     !!!!##H-t##$t'B'BB$$Q' Cr%   c                    \        V4      '       g   Q hV P                  P                  V4       \        V P                  4      V P                  8  d   V P                  ^ R# R# r\   )r]   rD   r^   r_   rB   r`   s   &&r   
push_solidPlotModeBase.push_solid   sU     !!!!)t 4#>#>>  # ?r%   c                    \         P                  ! ^4      p\         P                  ! V\         P                  4       V! 4        \         P                  ! 4        V# )   )pgl
glGenLists	glNewList
GL_COMPILE	glEndList)r   ra   dls   && r   _create_display_list!PlotModeBase._create_display_list   s5    ^^Ab#..)
	r%   c                ^   VR,          pVR8X  d   R# \        V4      '       d   V P                  V4      pW23VR&   V# \        V4      ^8X  da   \        P                  \        P
                  ! V^ ,          4      8X  d
   V^ ,          # V P                  V^,          4      pW2^,          3VR&   V# R# )rh   Nr4   )r]   ro   r_   ri   GL_TRUEglIsList)r   render_stacktoprn   s   &&  r   _render_stack_topPlotModeBase._render_stack_top   s    2"9Ic]]**3/B "yLIX]{{cll3q6221v**3q62B "F|LI r%   c                4   \         P                  ! \         P                  \         P                  ,          4       \         P                  ! \         P
                  \         P                  4       \         P                  ! V4       \         P                  ! 4        R # r   )	ri   glPushAttribGL_ENABLE_BITGL_POLYGON_BITglPolygonModeGL_FRONT_AND_BACKGL_FILL
glCallListglPopAttribr   rn   s   &&r   _draw_solid_display_list%PlotModeBase._draw_solid_display_list   sQ    **S-?-??@#//=rr%   c                   \         P                  ! \         P                  \         P                  ,          4       \         P                  ! \         P
                  \         P                  4       \         P                  ! \         P                  4       \         P                  ! RR4       \         P                  ! V4       \         P                  ! 4        R# )g{Gzt?Ng{Gztg      I)ri   ry   rz   r{   r|   r}   GL_LINEglEnableGL_POLYGON_OFFSET_LINEglPolygonOffsetr   r   r   s   &&r   _draw_wireframe_display_list)PlotModeBase._draw_wireframe_display_list   ss    **S-?-??@#//=S//0FE*rr%   c                    V P                    F  p\        V4      '       g   K  V! 4        K  	  V P                  '       d   V P                  V P                  ,          pMV P                  V P                  ,          pV^,          '       d]   V P                  V P                  4      pV^ 8  d;   \        P                  \        P                  ! V4      8X  d   V P                  V4       V^,          '       d]   V P                  V P                  4      pV^ 8  d;   \        P                  \        P                  ! V4      8X  d   V P                  V4       V P                   F  p\        V4      '       g   K  V! 4        K  	  R# )   N)rG   r]   style_overridestylesrE   rv   rD   ri   rr   rs   r   rC   r   rH   )r   rU   r1   rn   s   &   r   drawPlotModeBase.draw   s    A{{  KK 3 34EKK,E199''(8(89BAv#++b)99--b1199''(<(<=BAv#++b)9911"5A{{ r%   c                N    \        V P                  R 7      P                  4        R# )targetN)r   _calculate_cvertsstart)r   r2   s   &&r   _on_change_colorPlotModeBase._on_change_color  s    d,,-335r%   c                N    \        V P                  R 7      P                  4        R# r   )r   _calculate_allr   r"   s   &r   rK   PlotModeBase._on_calculate  s    d))*002r%   c                F    V P                  4        V P                  4        R # r   )_calculate_vertsr   r"   s   &r   r   PlotModeBase._calculate_all  s     r%   c                l   V P                   P                  4       '       d   R # V P                   P                  4         V P                  4        V P                   P	                  4        \        V P                  4      '       d   V P                  4        R # R #   T P                   P	                  4        i ; ir   )r<   is_setsetr)   clearr]   r.   r"   s   &r   r   PlotModeBase._calculate_verts  s    ""))++##%	,$$&##))+D(())  " * ##))+s   B B3c                l   V P                   P                  4       '       d   R # V P                  P                  4       '       d   \        ^ 4       K-  V P                  P	                  4         V P                  4        V P                  P                  4        R #   T P                  P                  4        i ; ir   )r<   r   r=   r   r   r,   r   r"   s   &r   r   PlotModeBase._calculate_cverts  s~    ""))++&&--//!H  $$&	-%%'$$**,D$$**,s   +B B3c                6    V P                   P                  4       # r   )r<   r   r"   s   &r   _get_calculating_verts#PlotModeBase._get_calculating_verts%  s    &&--//r%   c                    V P                   # r   )r>   r"   s   &r   _get_calculating_verts_pos'PlotModeBase._get_calculating_verts_pos(      ***r%   c                    V P                   # r   )r?   r"   s   &r   _get_calculating_verts_len'PlotModeBase._get_calculating_verts_len+  r   r%   c                6    V P                   P                  4       # r   )r=   r   r"   s   &r   _get_calculating_cverts$PlotModeBase._get_calculating_cverts.  s    ''..00r%   c                    V P                   # r   )r@   r"   s   &r   _get_calculating_cverts_pos(PlotModeBase._get_calculating_cverts_pos1      +++r%   c                    V P                   # r   )rA   r"   s   &r   _get_calculating_cverts_len(PlotModeBase._get_calculating_cverts_len4  r   r%   c                    V P                   # r   )rE   r"   s   &r   
_get_stylePlotModeBase._get_style8      {{r%   c                ,   Vf   R # VR8X  dT   ^ pV P                    F3  pVP                  f   K  \        V\        VP                  4      .4      pK5  	  RR.V^(8  ,          pWP                  9  d   \        R4      hWP                  8X  d   R # Wn        R # )Nr   r   r   z v should be there in self.styles)	intervalsv_stepsmaxintr   
ValueErrorrE   )r   vstep_maxis   &&  r   
_set_stylePlotModeBase._set_style;  s    97H^^99$#aii.9: $ !(R-0AKK?@@r%   c                    V P                   # r   )rF   r"   s   &r   
_get_colorPlotModeBase._get_colorL  r   r%   c                0    Ve'   \        V4      '       d   \        V!  pM\        V4      p\        V4      \        V P                  4      8X  d   R # V P	                  V4       Wn        R #   \
         d!   p\        R\        T4      ,          4      hR p?ii ; i)NzColor change failed. Reason: %s)r   r   reprrF   r   r   RuntimeErrorstr)r   r   r   s   && r   
_set_colorPlotModeBase._set_colorO  s    	9}q>>#QA#AAAw$t{{++!!!$K 	9  -03A 8 9 9	9s   AA* A* *B5BBc                    R P                  R V P                   4       4      pRV P                  ,          pR P                  W.4      # ), c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r   .0ds   & r   	<genexpr>'PlotModeBase.__str__.<locals>.<genexpr>m       2kc!ffk   z	'mode=%s')joind_varsprimary_alias)r   rU   os   &  r   __str__PlotModeBase.__str__l  s;    II2dkk224--.yy!  r%   c                d   R P                  R V P                   4       4      pR P                  R V P                   4       4      pRV P                  3R\	        V P
                  4      3R\	        V P                  4      3.pRRP                  R V 4       4      ,          pR P                  WV.4      # )	r   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r   r   s   & r   r   (PlotModeBase.__repr__.<locals>.<genexpr>r  r   r   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r   )r   r   s   & r   r   r   s  s     5nc!ffnr   moder2   r1   z'%s'z; c              3   J   "   T F  w  rVR 8w  g   K  V: RV: 2x  K  	  R# 5i)None=NrX   )r   kr   s   &  r   r   r   x  s&       >,-DAf !11a 0,-s   ##)r   r   r   r   r   r2   r1   )r   rU   r   r   r   s   &    r   __repr__PlotModeBase.__repr__q  s    II2dkk22II5dnn55d(()s4::'s4::') dii  >,- > > ?yy!##r%   )r=   rA   r@   r<   r?   r>   rF   r;   rD   rC   rB   rE   r9   r.   r:   r2   r6   rH   rG   r1   r   r5   )333333?r   r   )333333?r   g?)9__name__
__module____qualname____firstlineno____doc__i_varsr   r   aliases
is_defaultr   r   default_wireframe_colordefault_solid_colordefault_rot_presetr   r   r   r)   r,   rN   rY   rb   re   ro   rv   r   r   r   r   rK   r   r   r   r   r   r   r   r   r   r   r   r   r   propertyr1   r2   calculating_vertscalculating_verts_poscalculating_verts_lencalculating_cvertscalculating_cverts_poscalculating_cverts_lenr   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s    
 NFF I G J
 1gq&!4F N 1)+$$$$"d "H 	( 	( 	$ 	$  ,63!	#	-0++1,,    9 9 Z,EZ,E !78$%?@$%?@!"9:%&AB%&AB!
	$ 	$r%   r   )	pyglet.glglri   
sympy.corer   &sympy.plotting.pygletplot.color_schemer   #sympy.plotting.pygletplot.plot_moder   sympy.utilities.iterablesr   timer   	threadingr   r	   r
   r   r   rX   r%   r   <module>r     s.      > 8 1  * * o$8 o$r%   