Ë
    ¯·g)@  ã                   ó¢   — d Z ddlmZ ddlZddlZddlZddlmZ ddlm	Z	 ddl
Z
ddlmZ  G d„ d	e
j                  «      Zd
„ Zedk(  r e«        yy)a  

A fully functional VTK widget for tkinter that uses
vtkGenericRenderWindowInteractor.  The widget is called
vtkTkRenderWindowInteractor.  The initialization part of this code is
similar to that of the vtkTkRenderWidget.

Created by Prabhu Ramachandran, April 2002

é    )Úabsolute_importN)ÚvtkRenderWindow)Ú vtkGenericRenderWindowInteractoré   )ÚvtkLoadPythonTkWidgetsc                   ó¦   — e Zd ZdZi fd„Zd„ Zd„ Zd„ Zd„ Zdd„Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚvtkTkRenderWindowInteractora    A vtkTkRenderWidndowInteractor for Python.

    Use GetRenderWindow() to get the vtkRenderWindow.

    Create with the keyword stereo=1 in order to generate a
    stereo-capable window.

    Create with the keyword focus_on_enter=1 to enable
    focus-follows-mouse.  The default is for a click-to-focus mode.

    __getattr__ is used to make the widget also behave like a
    vtkGenericRenderWindowInteractor.
    c                 ó°  — t        |j                  «       	 |d   }	 |d   r|j	                  «        |d= |j                  d«      rd| _        |d= nd| _        |j                  d«      |d<   t        j                  j                  | |d||«       t        «       | _        | j                  j                  | j                  «       | j                  j                  d| j                   «       | j                  j                  d	| j"                  «       d
| _        d| _        | j)                  «        y
# t        $ r t        «       }Y �Œ(w xY w# t        $ r Y �Œw xY w)a}  
        Constructor.

        Keyword arguments:

          rw -- Use passed render window instead of creating a new one.

          stereo -- If True, generate a stereo-capable window.
          Defaults to False.

          focus_on_enter -- If True, use a focus-follows-mouse mode.
          Defaults to False where the widget will use a click-to-focus
          mode.
        ÚrwÚstereoÚfocus_on_enterr   r   r   ÚvtkTkRenderWidgetÚCreateTimerEventÚDestroyTimerEventN)r   ÚtkÚKeyErrorr   ÚStereoCapableWindowOnÚgetÚ_FocusOnEnterÚGetAddressAsStringÚtkinterÚWidgetÚ__init__r   Ú_IrenÚSetRenderWindowÚ_RenderWindowÚAddObserverÚCreateTimerÚDestroyTimerÚ	_OldFocusÚ&_vtkTkRenderWindowInteractor__InExposeÚ
BindEvents)ÚselfÚmasterÚcnfÚkwÚrenderWindows        úIlib/python3.12/site-packages/vtkmodules/tk/vtkTkRenderWindowInteractor.pyr   z$vtkTkRenderWindowInteractor.__init__#   s6  € ô  	˜vŸy™yÔ)ð	-Ø˜d™8ˆLð	Ø�(Š|Ø×1Ñ1Ô3Ø�h�<ð
 �6‰6Ð"Ô#Ø!"ˆDÔØÐ#Ñ$à!"ˆDÔà×2Ñ2Ð3DÓEˆˆ4‰Ü�‰×Ñ  fÐ.AÀ3ÈÔKä5Ó7ˆŒ
Ø�
‰
×"Ñ" 4×#5Ñ#5Ô6à�
‰
×ÑÐ1°4×3CÑ3CÔDØ�
‰
×ÑÐ2°D×4EÑ4EÔFàˆŒð ˆŒð 	�‰ÕøôA ò 	-Ü*Ó,‹Lð	-ûô ò 	Úð	ús"   —D. �E Ä.EÅEÅ	EÅEc                 óö   — |dk(  r| j                   fd„S |dk(  r| j                  «       S t        | j                   |«      rt        | j                   |«      S t	        | j
                  j                  dz   |z   «      ‚)NÚ__vtk__c                 ó   — | S ©N© )Úts    r(   Ú<lambda>z9vtkTkRenderWindowInteractor.__getattr__.<locals>.<lambda>`   s   € ©ó    r   z has no attribute named )r   ÚGetRenderWindowÚhasattrÚgetattrÚAttributeErrorÚ	__class__Ú__name__)r#   Úattrs     r(   Ú__getattr__z'vtkTkRenderWindowInteractor.__getattr__Z   sx   € ð
 �9ÒØ ŸJ™JÒ)Ð)Ø�_Ò$Ø×'Ñ'Ó)Ð)Ü�T—Z‘Z Ô&Ü˜4Ÿ:™: tÓ,Ð,ä  §¡×!8Ñ!8Ø,ñ"-Ø/3ñ"4ó 5ð 5r0   c                 ó¾	  — | j                  d| fd„«       | j                  d| fd„«       | j                  d| fd„«       | j                  d| fd„«       | j                  d	| fd
„«       | j                  d| fd„«       | j                  d| fd„«       | j                  d| fd„«       | j                  d| fd„«       | j                  d| fd„«       | j                  d| fd„«       | j                  d| fd„«       | j                  d| fd„«       | j                  d| fd„«       | j                  d| fd„«       | j                  d| fd „«       | j                  d!| fd"„«       | j                  d#| fd$„«       | j                  d%| fd&„«       | j                  d'| fd(„«       | j                  d)| fd*„«       | j                  d+| fd,„«       | j                  d-| fd.„«       | j                  d/| fd0„«       | j                  d1| fd2„«       | j                  d3| fd4„«       | j                  d5| fd6„«       | j                  d7| fd8„«       t        j                  d9k(  rU| j                  d:| fd;„«       | j                  d<| fd=„«       | j                  d>| fd?„«       | j                  d@| fdA„«       n¨| j                  dB| fdC„«       | j                  dD| fdE„«       | j                  dF| fdG„«       | j                  dH| fdI„«       | j                  dJ| fdK„«       | j                  dL| fdM„«       | j                  dN| fdO„«       | j                  dP| fdQ„«       | j                  dR| fdS„«       | j                  dT| fdU„«       | j                  dV| fdW„«       | j                  dX| fdY„«       | j                  dZ| fd[„«       | j                  d\| fd]„«       | j                  d^| fd_„«       | j                  d`| fda„«       | j                  db| fdc„«       | j                  dd| fde„«       | j                  df| fdg„«       | j                  dh| fdi„«       | j                  dj| fdk„«       | j                  dl| fdm„«       | j                  dn| fdo„«       | j                  dp| fdq„«       | j                  dr| j                  «       | j                  ds| fdt„«       yu)vz Bind all the events.  z<Motion>c                 ó(   — |j                  | dd«      S ©Nr   ©ÚMouseMoveEvent©ÚeÚss     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>l   ó   €  A×$4Ñ$4°Q¸¸1Ô$=r0   z<Control-Motion>c                 ó(   — |j                  | dd«      S ©Nr   r   r<   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>n   rA   r0   z<Shift-Motion>c                 ó(   — |j                  | dd«      S ©Nr   r<   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>p   rA   r0   z<Control-Shift-Motion>c                 ó(   — |j                  | dd«      S ©Nr   r   r<   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>r   rA   r0   z<ButtonPress-1>c                 ó(   — |j                  | dd«      S r;   ©ÚLeftButtonPressEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>v   ó   €  A×$:Ñ$:¸1¸aÀÔ$Cr0   z<Control-ButtonPress-1>c                 ó(   — |j                  | dd«      S rC   rI   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>x   rK   r0   z<Shift-ButtonPress-1>c                 ó(   — |j                  | dd«      S rG   rI   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>z   rK   r0   z<Control-Shift-ButtonPress-1>c                 ó(   — |j                  | dd«      S rE   rI   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>|   rK   r0   z<ButtonRelease-1>c                 ó(   — |j                  | dd«      S r;   ©ÚLeftButtonReleaseEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>~   ó   €  A×$<Ñ$<¸QÀÀ1Ô$Er0   z<Control-ButtonRelease-1>c                 ó(   — |j                  | dd«      S rC   rP   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>€   rR   r0   z<Shift-ButtonRelease-1>c                 ó(   — |j                  | dd«      S rG   rP   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>‚   rR   r0   z<Control-Shift-ButtonRelease-1>c                 ó(   — |j                  | dd«      S rE   rP   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>„   rR   r0   z<ButtonPress-2>c                 ó(   — |j                  | dd«      S r;   ©ÚMiddleButtonPressEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>ˆ   rR   r0   z<Control-ButtonPress-2>c                 ó(   — |j                  | dd«      S rC   rW   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Š   rR   r0   z<Shift-ButtonPress-2>c                 ó(   — |j                  | dd«      S rG   rW   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Œ   rR   r0   z<Control-Shift-ButtonPress-2>c                 ó(   — |j                  | dd«      S rE   rW   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Ž   rR   r0   z<ButtonRelease-2>c                 ó(   — |j                  | dd«      S r;   ©ÚMiddleButtonReleaseEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>�   ó   €  A×$>Ñ$>¸qÀ!ÀQÔ$Gr0   z<Control-ButtonRelease-2>c                 ó(   — |j                  | dd«      S rC   r]   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>’   r_   r0   z<Shift-ButtonRelease-2>c                 ó(   — |j                  | dd«      S rG   r]   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>”   r_   r0   z<Control-Shift-ButtonRelease-2>c                 ó(   — |j                  | dd«      S rE   r]   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>–   r_   r0   z<ButtonPress-3>c                 ó(   — |j                  | dd«      S r;   ©ÚRightButtonPressEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>š   ó   €  A×$;Ñ$;¸A¸qÀ!Ô$Dr0   z<Control-ButtonPress-3>c                 ó(   — |j                  | dd«      S rC   rd   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>œ   rf   r0   z<Shift-ButtonPress-3>c                 ó(   — |j                  | dd«      S rG   rd   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>ž   rf   r0   z<Control-Shift-ButtonPress-3>c                 ó(   — |j                  | dd«      S rE   rd   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>    rf   r0   z<ButtonRelease-3>c                 ó(   — |j                  | dd«      S r;   ©ÚRightButtonReleaseEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>¢   ó   €  A×$=Ñ$=¸aÀÀAÔ$Fr0   z<Control-ButtonRelease-3>c                 ó(   — |j                  | dd«      S rC   rk   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>¤   rm   r0   z<Shift-ButtonRelease-3>c                 ó(   — |j                  | dd«      S rG   rk   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>¦   rm   r0   z<Control-Shift-ButtonRelease-3>c                 ó(   — |j                  | dd«      S rE   rk   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>¨   rm   r0   Úwin32z<MouseWheel>c                 ó(   — |j                  | dd«      S r;   ©ÚMouseWheelEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>¬   ó   €  a×&7Ñ&7¸¸1¸aÔ&@r0   z<Control-MouseWheel>c                 ó(   — |j                  | dd«      S rC   rs   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>®   ru   r0   z<Shift-MouseWheel>c                 ó(   — |j                  | dd«      S rG   rs   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>°   ru   r0   z<Control-Shift-MouseWheel>c                 ó(   — |j                  | dd«      S rE   rs   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>²   ru   r0   z<ButtonPress-4>c                 ó(   — |j                  | dd«      S r;   ©ÚMouseWheelForwardEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>¶   ó   €  a×&>Ñ&>¸qÀ!ÀQÔ&Gr0   z<Control-ButtonPress-4>c                 ó(   — |j                  | dd«      S rC   rz   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>¸   r|   r0   z<Shift-ButtonPress-4>c                 ó(   — |j                  | dd«      S rG   rz   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>º   r|   r0   z<Control-Shift-ButtonPress-4>c                 ó(   — |j                  | dd«      S rE   rz   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>¼   r|   r0   z<ButtonPress-5>c                 ó(   — |j                  | dd«      S r;   ©ÚMouseWheelBackwardEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>À   ó   €  a×&?Ñ&?ÀÀ1ÀaÔ&Hr0   z<Control-ButtonPress-5>c                 ó(   — |j                  | dd«      S rC   r�   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Â   rƒ   r0   z<Shift-ButtonPress-5>c                 ó(   — |j                  | dd«      S rG   r�   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Ä   rƒ   r0   z<Control-Shift-ButtonPress-5>c                 ó(   — |j                  | dd«      S rE   r�   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Æ   rƒ   r0   z
<KeyPress>c                 ó(   — |j                  | dd«      S r;   ©ÚKeyPressEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Ê   ó   €  A§O¡O°A°q¸!Ô$<r0   z<Control-KeyPress>c                 ó(   — |j                  | dd«      S rC   rˆ   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Ì   rŠ   r0   z<Shift-KeyPress>c                 ó(   — |j                  | dd«      S rG   rˆ   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Î   rŠ   r0   z<Control-Shift-KeyPress>c                 ó(   — |j                  | dd«      S rE   rˆ   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Ð   rŠ   r0   z<KeyRelease>c                 ó(   — |j                  | dd«      S r;   ©ÚKeyReleaseEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Ó   ó   €  A×$5Ñ$5°a¸¸AÔ$>r0   z<Control-KeyRelease>c                 ó(   — |j                  | dd«      S rC   r�   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Õ   r‘   r0   z<Shift-KeyRelease>c                 ó(   — |j                  | dd«      S rG   r�   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>×   r‘   r0   z<Control-Shift-KeyRelease>c                 ó(   — |j                  | dd«      S rE   r�   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Ù   r‘   r0   z<Enter>c                 ó(   — |j                  | dd«      S r;   ©Ú
EnterEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Ü   ó   €  A§L¡L°°A°qÔ$9r0   z<Control-Enter>c                 ó(   — |j                  | dd«      S rC   r–   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>Þ   r˜   r0   z<Shift-Enter>c                 ó(   — |j                  | dd«      S rG   r–   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>à   r˜   r0   z<Control-Shift-Enter>c                 ó(   — |j                  | dd«      S rE   r–   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>â   r˜   r0   z<Leave>c                 ó(   — |j                  | dd«      S r;   ©Ú
LeaveEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>ä   r˜   r0   z<Control-Leave>c                 ó(   — |j                  | dd«      S rC   r�   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>æ   r˜   r0   z<Shift-Leave>c                 ó(   — |j                  | dd«      S rG   r�   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>è   r˜   r0   z<Control-Shift-Leave>c                 ó(   — |j                  | dd«      S rE   r�   r>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>ê   r˜   r0   z<Configure>z<Expose>c                 ó"   — |j                  «       S r,   )ÚExposeEventr>   s     r(   r/   z8vtkTkRenderWindowInteractor.BindEvents.<locals>.<lambda>í   s
   € ¨a¯m©m¬or0   N)ÚbindÚsysÚplatformÚConfigureEvent©r#   s    r(   r"   z&vtkTkRenderWindowInteractor.BindEventsi   sÿ  € à�	‰	�*Ø"Ò=ô	?à�	‰	Ð$Ø"Ò=ô	?à�	‰	Ð"Ø"Ò=ô	?à�	‰	Ð*Ø"Ò=ô	?ð 	�	‰	Ð#Ø"ÒCô	Eà�	‰	Ð+Ø"ÒCô	Eà�	‰	Ð)Ø"ÒCô	Eà�	‰	Ð1Ø"ÒCô	Eà�	‰	Ð%Ø"ÒEô	Gà�	‰	Ð-Ø"ÒEô	Gà�	‰	Ð+Ø"ÒEô	Gà�	‰	Ð3Ø"ÒEô	Gð 	�	‰	Ð#Ø"ÒEô	Gà�	‰	Ð+Ø"ÒEô	Gà�	‰	Ð)Ø"ÒEô	Gà�	‰	Ð1Ø"ÒEô	Gà�	‰	Ð%Ø"ÒGô	Ià�	‰	Ð-Ø"ÒGô	Ià�	‰	Ð+Ø"ÒGô	Ià�	‰	Ð3Ø"ÒGô	Ið 	�	‰	Ð#Ø"ÒDô	Fà�	‰	Ð+Ø"ÒDô	Fà�	‰	Ð)Ø"ÒDô	Fà�	‰	Ð1Ø"ÒDô	Fà�	‰	Ð%Ø"ÒFô	Hà�	‰	Ð-Ø"ÒFô	Hà�	‰	Ð+Ø"ÒFô	Hà�	‰	Ð3Ø"ÒFô	Hô �<‰<˜7Ò"Ø
�)‰)�NØ $Ò@ôBà
�)‰)Ð*Ø $Ò@ôBà
�)‰)Ð(Ø $Ò@ôBà
�)‰)Ð0Ø $Ò@õBð �)‰)Ð%Ø $ÒGôIà
�)‰)Ð-Ø $ÒGôIà
�)‰)Ð+Ø $ÒGôIà
�)‰)Ð3Ø $ÒGôIð �)‰)Ð%Ø $ÒHôJà
�)‰)Ð-Ø $ÒHôJà
�)‰)Ð+Ø $ÒHôJà
�)‰)Ð3Ø $ÒHôJð 	�	‰	�,Ø"Ò<ô	>à�	‰	Ð&Ø"Ò<ô	>à�	‰	Ð$Ø"Ò<ô	>à�	‰	Ð,Ø"Ò<ô	>ð 	�	‰	�.Ø"Ò>ô	@à�	‰	Ð(Ø"Ò>ô	@à�	‰	Ð&Ø"Ò>ô	@à�	‰	Ð.Ø"Ò>ô	@ð 	�	‰	�)Ø"Ò9ô	;à�	‰	Ð#Ø"Ò9ô	;à�	‰	�/Ø"Ò9ô	;à�	‰	Ð)Ø"Ò9ô	;à�	‰	�)Ø"Ò9ô	;à�	‰	Ð#Ø"Ò9ô	;à�	‰	�/Ø"Ò9ô	;à�	‰	Ð)Ø"Ò9ô	;ð 	�	‰	�- ×!4Ñ!4Ô5Ø�	‰	�*¨Ò=Õ>r0   c                 óP   — | j                  d| j                  j                  «       y )Né
   )Úafterr   Ú
TimerEvent)r#   ÚobjÚevts      r(   r   z'vtkTkRenderWindowInteractor.CreateTimerï   s   € Ø�
‰
�2�t—z‘z×,Ñ,Õ-r0   c                  ó   — y)z;The timer is a one shot timer so will expire automatically.r   r-   )r#   r­   Úevents      r(   r   z(vtkTkRenderWindowInteractor.DestroyTimerò   s   € àr0   c                 óN   — | j                  «       | _        | j                  «        y r,   )Ú	focus_getr    Úfocus)r#   Úenters     r(   Ú
_GrabFocusz&vtkTkRenderWindowInteractor._GrabFocusö   s   € Ø—~‘~Ó'ˆŒØ�
‰
�r0   c           	      ó´   — | j                   j                  |j                  |j                  ||t	        d«      dd «       | j                   j                  «        y r;   )r   ÚSetEventInformationFlipYÚxÚyÚchrr=   ©r#   r°   ÚctrlÚshifts       r(   r=   z*vtkTkRenderWindowInteractor.MouseMoveEventú   s@   € Ø�
‰
×+Ñ+¨E¯G©G°U·W±W¸dØ,1´3°q³6¸1¸dô	Dà�
‰
×!Ñ!Õ#r0   c           	      óî   — | j                   j                  |j                  |j                  ||t	        d«      dd «       | j                   j                  «        | j                  s| j                  «        y y r;   )r   r·   r¸   r¹   rº   rJ   r   rµ   r»   s       r(   rJ   z0vtkTkRenderWindowInteractor.LeftButtonPressEventÿ   sX   € Ø�
‰
×+Ñ+¨E¯G©G°U·W±W¸dØ,1´3°q³6¸1¸dô	Dà�
‰
×'Ñ'Ô)Ø×!Ò!Ø�O‰OÕð "r0   c           	      ó´   — | j                   j                  |j                  |j                  ||t	        d«      dd «       | j                   j                  «        y r;   )r   r·   r¸   r¹   rº   rQ   r»   s       r(   rQ   z2vtkTkRenderWindowInteractor.LeftButtonReleaseEvent  ó@   € Ø�
‰
×+Ñ+¨E¯G©G°U·W±W¸dØ,1´3°q³6¸1¸dô	Dà�
‰
×)Ñ)Õ+r0   c           	      óî   — | j                   j                  |j                  |j                  ||t	        d«      dd «       | j                   j                  «        | j                  s| j                  «        y y r;   )r   r·   r¸   r¹   rº   rX   r   rµ   r»   s       r(   rX   z2vtkTkRenderWindowInteractor.MiddleButtonPressEvent  sX   € Ø�
‰
×+Ñ+¨E¯G©G°U·W±W¸dØ,1´3°q³6¸1¸dô	Dà�
‰
×)Ñ)Ô+Ø×!Ò!Ø�O‰OÕð "r0   c           	      ó´   — | j                   j                  |j                  |j                  ||t	        d«      dd «       | j                   j                  «        y r;   )r   r·   r¸   r¹   rº   r^   r»   s       r(   r^   z4vtkTkRenderWindowInteractor.MiddleButtonReleaseEvent  s@   € Ø�
‰
×+Ñ+¨E¯G©G°U·W±W¸dØ,1´3°q³6¸1¸dô	Dà�
‰
×+Ñ+Õ-r0   c           	      óî   — | j                   j                  |j                  |j                  ||t	        d«      dd «       | j                   j                  «        | j                  s| j                  «        y y r;   )r   r·   r¸   r¹   rº   re   r   rµ   r»   s       r(   re   z1vtkTkRenderWindowInteractor.RightButtonPressEvent  sX   € Ø�
‰
×+Ñ+¨E¯G©G°U·W±W¸dØ,1´3°q³6¸1¸dô	Dà�
‰
×(Ñ(Ô*Ø×!Ò!Ø�O‰OÕð "r0   c           	      ó´   — | j                   j                  |j                  |j                  ||t	        d«      dd «       | j                   j                  «        y r;   )r   r·   r¸   r¹   rº   rl   r»   s       r(   rl   z3vtkTkRenderWindowInteractor.RightButtonReleaseEvent  ó@   € Ø�
‰
×+Ñ+¨E¯G©G°U·W±W¸dØ,1´3°q³6¸1¸dô	Dà�
‰
×*Ñ*Õ,r0   c           	      ó  — | j                   j                  |j                  |j                  ||t	        d«      dd «       |j
                  dkD  r| j                   j                  «        y | j                   j                  «        y r;   )r   r·   r¸   r¹   rº   Údeltar{   r‚   r»   s       r(   rt   z+vtkTkRenderWindowInteractor.MouseWheelEvent#  s[   € Ø�
‰
×+Ñ+¨E¯G©G°U·W±W¸dØ,1´3°q³6¸1¸dô	Dà�;‰;˜Š?Ø
�*‰*×
+Ñ
+Õ
-à
�*‰*×
,Ñ
,Õ
.r0   c           	      ó´   — | j                   j                  |j                  |j                  ||t	        d«      dd «       | j                   j                  «        y r;   )r   r·   r¸   r¹   rº   r{   r»   s       r(   r{   z2vtkTkRenderWindowInteractor.MouseWheelForwardEvent+  rÀ   r0   c           	      ó´   — | j                   j                  |j                  |j                  ||t	        d«      dd «       | j                   j                  «        y r;   )r   r·   r¸   r¹   rº   r‚   r»   s       r(   r‚   z3vtkTkRenderWindowInteractor.MouseWheelBackwardEvent0  rÅ   r0   c           	      óH  — t        d«      }|j                  dk  rt        |j                  «      }| j                  j                  |j                  |j
                  |||d|j                  «       | j                  j                  «        | j                  j                  «        y ©Nr   é€   )	rº   Ú
keysym_numr   r·   r¸   r¹   Úkeysymr‰   Ú	CharEvent©r#   r°   r¼   r½   Úkeys        r(   r‰   z)vtkTkRenderWindowInteractor.KeyPressEvent5  sw   € Ü�!‹fˆØ×Ñ˜cÒ!Ü�e×&Ñ&Ó'ˆCØ�
‰
×+Ñ+¨E¯G©G°U·W±W¸dØ,1°3¸¸5¿<¹<ô	Ià�
‰
× Ñ Ô"Ø�
‰
×ÑÕr0   c           	      ó  — t        d«      }|j                  dk  rt        |j                  «      }| j                  j                  |j                  |j
                  |||d|j                  «       | j                  j                  «        y rË   )rº   rÍ   r   r·   r¸   r¹   rÎ   r�   rÐ   s        r(   r�   z+vtkTkRenderWindowInteractor.KeyReleaseEvent>  sg   € Ü�!‹fˆØ×Ñ˜cÒ!Ü�e×&Ñ&Ó'ˆCØ�
‰
×+Ñ+¨E¯G©G°U·W±W¸dØ,1°3¸¸5¿<¹<ô	Ià�
‰
×"Ñ"Õ$r0   c                 óJ  — | j                   j                  «       \  }}| j                   j                  |j                  |j                  «       | j                   j                  «        |j                  |k  r-|j                  |k  r| j                  d| j                  «       y y y r;   )r   ÚGetSizeÚSetSizeÚwidthÚheightr§   r«   ÚRender)r#   r°   ÚoldwidthÚ	oldheights       r(   r§   z*vtkTkRenderWindowInteractor.ConfigureEventF  sy   € Ø"Ÿj™j×0Ñ0Ó2Ñˆ�)Ø�
‰
×Ñ˜5Ÿ;™;¨¯©Ô5Ø�
‰
×!Ñ!Ô#à�;‰;˜(Ò" u§|¡|°yÒ'@ð �J‰J�q˜$Ÿ+™+Õ&ð (AÐ"r0   c           	      óì   — | j                   r| j                  «        | j                  j                  |j                  |j
                  ||t        d«      dd «       | j                  j                  «        y r;   )r   rµ   r   r·   r¸   r¹   rº   r—   r»   s       r(   r—   z&vtkTkRenderWindowInteractor.EnterEventP  sR   € Ø×ÒØ�O‰OÔØ�
‰
×+Ñ+¨E¯G©G°U·W±W¸dÀEÜ,/°«F°A°tô	=à�
‰
×ÑÕr0   c           	      ó  — | j                   r)| j                  d k7  r| j                  j                  «        | j                  j	                  |j
                  |j                  ||t        d«      dd «       | j                  j                  «        y r;   )	r   r    r³   r   r·   r¸   r¹   rº   rž   r»   s       r(   rž   z&vtkTkRenderWindowInteractor.LeaveEventW  sc   € Ø×Ò 4§>¡>°TÒ#9Ø�N‰N× Ñ Ô"Ø�
‰
×+Ñ+¨E¯G©G°U·W±W¸dÀEÜ,/°«F°A°tô	=à�
‰
×ÑÕr0   c                 óÄ   — | j                   sTd| _         | j                  j                  d«      s| j                  «        | j                  j	                  «        d| _         y y )Nr   ÚvtkCocoaRenderWindowr   )r!   r   ÚIsAÚupdaterØ   r¨   s    r(   r£   z'vtkTkRenderWindowInteractor.ExposeEvent^  sL   € Ø—’ØˆDŒOØ×&Ñ&×*Ñ*Ð+AÔBØ—‘”Ø×Ñ×%Ñ%Ô'ØˆD�Oð  r0   c                 óp   — | j                   j                  | j                  d«      dd  }t        d|z  «      S )Nr1   é   z_%s_vtkRenderWindow_p)r   ÚcallÚ_wr   )r#   Úaddrs     r(   r1   z+vtkTkRenderWindowInteractor.GetRenderWindowf  s3   € Ø�w‰w�|‰|˜DŸG™GÐ%6Ó7¸¸Ð;ˆÜÐ6¸Ñ=Ó>Ð>r0   c                 ó8   — | j                   j                  «        y r,   )r   rØ   r¨   s    r(   rØ   z"vtkTkRenderWindowInteractor.Renderj  s   € Ø×Ñ×!Ñ!Õ#r0   N)r   )r6   Ú
__module__Ú__qualname__Ú__doc__r   r8   r"   r   r   rµ   r=   rJ   rQ   rX   r^   re   rl   rt   r{   r‚   r‰   r�   r§   r—   rž   r£   r1   rØ   r-   r0   r(   r	   r	      s‡   „ ñð $&ó 4òn5òD?òL.òóò$ò
ò,ò
ò.ò
ò-ò
/ò,ò
-ò
ò%ò'ò ò ò ò?ó$r0   r	   c                  óL  — ddl m}  ddlm}m}m} ddl}ddl}t        j                  «       }t        |dd¬«      }|j                  «        |fd„}|j                  d|fd	„«        |«       }|j                  «       j                  |«        | «       }	|	j                  d
«        |«       }
|
j!                  |	j#                  «       «        |«       }|j%                  |
«       |j'                  |«       |j)                  dd¬«       |j+                  «        |j-                  «        y)z(Like it says, just a simple example
    r   )ÚvtkConeSource)ÚvtkActorÚvtkPolyDataMapperÚvtkRendererNi,  )rÖ   r×   c                 ó$   — | j                  «        y r,   )Úquit)r­   s    r(   rð   z2vtkRenderWindowInteractorConeExample.<locals>.quit€  s   € Ø�‰�
r0   Ú	ExitEventc                 ó   —  |«       S r,   r-   )Úor?   Úqs      r(   r/   z6vtkRenderWindowInteractorConeExample.<locals>.<lambda>ƒ  s   € ±Q´Sr0   é   Úbothr   )ÚfillÚexpand)Úvtkmodules.vtkFiltersSourcesrë   Úvtkmodules.vtkRenderingCorerì   rí   rî   Úvtkmodules.vtkRenderingOpenGL2Úvtkmodules.vtkInteractionStyler   ÚTkr	   Ú
Initializer   r1   ÚAddRendererÚSetResolutionÚSetInputConnectionÚGetOutputPortÚ	SetMapperÚAddActorÚpackÚStartÚmainloop)rë   rì   rí   rî   Ú
vtkmodulesÚrootÚpanerð   ÚrenÚconeÚ
coneMapperÚ	coneActors               r(   Ú$vtkRenderWindowInteractorConeExampler  o  sð   € õ ;ßTÑTã)Û)ô �:‰:‹<€Dô ' t°3¸sÔC€DØ‡O�OÔàó ð 	×Ñ�[¨tÒ"8Ô9á
‹-€CØ×ÑÓ×&Ñ& sÔ+á‹?€DØ×Ñ�qÔá"Ó$€JØ×!Ñ! $×"4Ñ"4Ó"6Ô7á“
€IØ×Ñ˜
Ô#à‡L�L�Ôð 	‡I�I�6 !€IÔ$Ø‡J�J„Lð 	‡M�M…Or0   Ú__main__)ré   Ú
__future__r   ÚmathÚosr¥   rú   r   Úvtkmodules.vtkRenderingUIr   r   r   r   r	   r  r6   r-   r0   r(   Ú<module>r     sO   ðñ	õ 'ß Ó Ý 7Ý Fã å :ôV$ '§.¡.ô V$òt
)ðV ˆzÒÙ(Õ*ð r0   