
    +jX                         d dl T ddZd Zd Zd Zd Zd Zd	 Zd
 Z G d de	          Z
 G d de	          Z G d de	          Z G d de	          Z G d de	          Zd Zd Zd ZdS )    )*h㈵>c                     t          d | D                       }t          |dz
            |k    r*t          |          t          fd| D                       } | S )Nc              3       K   | ]	}||z  V  
d S N ).0ns     O/DATA/AppData/hermes/venv/lib/python3.11/site-packages/vtkmodules/web/camera.py	<genexpr>znormalize.<locals>.<genexpr>	   s&      ##q1u######    g      ?c              3   "   K   | ]	}|z  V  
d S r   r   )r	   r
   mags     r   r   znormalize.<locals>.<genexpr>   s'      ++QW++++++r   )sumabssqrttuple)vect	tolerancemag2r   s      @r   	normalizer      sf    ##d#####D
4#:""4jj++++d+++++Kr   c                     | \  }}}}|\  }}}}	||z  ||z  z
  ||z  z
  ||	z  z
  }
||z  ||z  z   ||	z  z   ||z  z
  }||z  ||z  z   ||z  z   ||	z  z
  }||	z  ||z  z   ||z  z   ||z  z
  }|
|||fS r   r   )q1q2w1x1y1z1w2x2y2z2wxyzs                 r   q_multr'      s    NBBNBB
R"r'BG#b2g-A
R"r'BG#b2g-A
R"r'BG#b2g-A
R"r'BG#b2g-AaA:r   c                 "    | \  }}}}|| | | fS r   r   )qr#   r$   r%   r&   s        r   q_conjugater*      s#    JAq!QrA2r?r   c                 r    d|z   }t          t          | |          t          |                     dd          S )N)g           )r'   r*   )r   v1r   s      r   qv_multr.      s2    	"B&R..+b//2212266r   c                     t          |           } | \  }}}|dz  }t          |          }|t          |          z  }|t          |          z  }|t          |          z  }||||fS )N   )r   cossin)vthetar$   r%   r&   r#   s         r   axisangle_to_qr5   $   sg    !AGAq!	QJEE

A	CJJA	CJJA	CJJAaA:r   c                 |    | \  }}}|\  }}}||z  ||z  z
  ||z  ||z  z
  ||z  ||z  z
  f}t          |          }|S r   )r   )	axisAaxisBxayazaxbybzb
normalVects	            r   vectProductr@   /   s^    JBBJBBr'BG#R"WrBw%6R"r'8IJJ:&&Jr   c                 l    | d         |d         z  | d         |d         z  z   | d         |d         z  z   S )Nr   r,   r0   r   )vecAvecBs     r   
dotProductrD   7   s9    Gd1g$q'DG"34Q$q'8IJJr   c                     d|z  dz  }t          | |          }t          fdt          d          D                       }t          ||          t          fdt          d          D                       }|S )NgPERT!	@g     f@c              3   :   K   | ]}|         |         z
  V  d S r   r   )r	   icenterpoints     r   r   zrotate.<locals>.<genexpr>>   s0      <<aE!Hvay(<<<<<<r      c              3   :   K   | ]}|         |         z   V  d S r   r   )r	   rG   rH   rtPoints     r   r   zrotate.<locals>.<genexpr>@   s0      >>GAJ*>>>>>>r   )r5   r   ranger.   )	axisanglerH   rI   
angleInRadrotationtPointrPointrL   s	     ``    @r   rotaterT   ;   s    u$u,JdJ//H<<<<<588<<<<<Fh''G>>>>>U1XX>>>>>FMr   c                        e Zd Zd Zd Zd ZdS )SphericalCamerac                 *   || _         g | _        dddddddii| _        dddddddii| _        t	          d |D                       t          |          dk    r;|d         |d         z   d	k    r&| j                             dd
|dd| j                   n$| j                             dd
|d| j                   |d         dk     rN|d         dk    rBd}|D ]}|dk     r|dz  }| j                             ddd |D             d|| j                   n$| j                             dd|d| j                   |D ]}|D ]}	t          ||	 |          t          |t	          fdt          d          D                                 }
t          |
|          }t          |
|d|          }| j        
                    ||                    |          |	|                    |	          ||d           | j                                          d S )Nmousedragr   r,      )modifier
coordinatesteporientationc              3      K   | ]}|V  d S r   r   )r	   rG   s     r   r   z+SphericalCamera.__init__.<locals>.<genexpr>[   s"      ))1))))))r   ih  phislidermodulo)prioritynamevaluesuiloopbind)rd   re   rf   rg   ri   ir4   c                     g | ]}|d z   S )Z   r   )r	   r$   s     r   
<listcomp>z,SphericalCamera.__init__.<locals>.<listcomp>t   s    666QR666r   )rd   re   rf   rg   defaultri   c              3   :   K   | ]}|         |         z
  V  d S r   r   )r	   rG   fpphiPoss     r   r   z+SphericalCamera.__init__.<locals>.<genexpr>   s0      "G"G2a56!9#4"G"G"G"G"G"Gr   rJ   )r   r   r   )r4   thetaIdxra   phiIdx
focalPointpositionviewUp)dataHandlercameraSettings	thetaBindphiBindr   lenregisterArgumentrT   r@   rM   appendindexupdateBasePattern)selfrv   rs   rt   phiAxis	phiAnglesthetaAnglesidxr4   ra   	thetaAxisthetaPhiPosru   ro   rp   s                @@r   __init__zSphericalCamera.__init__J   s    ' QaTUVV
 QaTUVV
 ))j))))) y>>A)B-)A,">#"E"E-- \ .     --yXDL .    q>A+a.C"7"7C$  1991HC--66+666^ .     --"^ .    ! 	 	E   #r8<<'U"G"G"G"G"GeAhh"G"G"GGG 	 %Yr6BB	5)WEE#**!&$/$5$5e$<$<""+//#"6"6&($/"( 
 
 
 
( 	**,,,,,r   c                     ddg}t          t          t          |          t          |                              D ])}| j                            ||         ||                    *d S )Nr4   ra   rM   minrz   rv   updatePriorityr   priorityListkeyListr   s       r   r   zSphericalCamera.updatePriority   n    E"S..G==>> 	M 	MC++GCL,s:KLLLL	M 	Mr   c              #   v   K   | j         D ].}| j                            |d         |d                    |V  /d S )Nrr   rq   )ra   r4   rw   rv   setArgumentsr   
cameraDatas     r   __iter__zSphericalCamera.__iter__   b      - 	 	J))x(
:0F *    		 	r   N__name__
__module____qualname__r   r   r   r   r   r   rV   rV   I   sH        N- N- N-`M M M
    r   rV   c                        e Zd Zd Zd Zd ZdS )CylindricalCamerac                 F  
 || _         g | _        | j                             dd|dd           | j                             dd|d           |D ]|D ]}t          ||          
t	          fdt          d	          D                       }t	          
fd
t          d	          D                       }	| j                            |                              ||                    |          ||	d           | j                                          d S )Nr   ra   rb   rc   )rd   re   rf   rg   rh   n_pos)rd   re   rf   rg   c              3   @   K   | ]}|         |         z  z   V  d S r   r   )r	   rG   rs   rotationAxistranslations     r   r   z-CylindricalCamera.__init__.<locals>.<genexpr>   sF       & &HIJqM[<?%BC& & & & & &r   rJ   c              3   @   K   | ]}|         |         z  z   V  d S r   r   )r	   rG   rp   r   r   s     r   r   z-CylindricalCamera.__init__.<locals>.<genexpr>   sF       & &DEF1I|A!>?& & & & & &r   )r   n_posIdxra   rr   rs   rt   ru   )	rv   rw   r{   rT   r   rM   r|   r}   r~   )r   rv   rs   rt   r   r   translationValuesra   newfocalPointtransPhiPointrp   r   s     ` `     @@r   r   zCylindricalCamera.__init__   s    '  	))U9 	* 	
 	
 	
 	))W->8 	* 	
 	
 	

 - 	 	K   c:xHH % & & & & & &MRSTXX& & & ! ! !& & & & & & &INq& & & ! ! #**!,$5$;$;K$H$H""+//#"6"6&3$1". 
 
 
 
* 	**,,,,,r   c                     ddg}t          t          t          |          t          |                              D ])}| j                            ||         ||                    *d S )Nr   ra   r   r   s       r   r   z CylindricalCamera.updatePriority   r   r   c              #   v   K   | j         D ].}| j                            |d         |d                    |V  /d S )Nrr   r   )ra   r   r   r   s     r   r   zCylindricalCamera.__iter__   r   r   Nr   r   r   r   r   r      sE        +- +- +-ZM M M
    r   r   c                        e Zd Zd Zd Zd ZdS )
CubeCamerac                 p   || _         g | _        || _        || _        t	          ||          | _        || _        | j                             ddg d           i | _        |D ]<}|d         D ]1}|| j        vr
i | j        |<   d| j        |         |d         |         <   2=| j        D ]'}t          | j        |         d           | j        |<   (| j        
                                | _        | j        D ]*}| j                             d	|| j        |                    +| j                                          d S )
Nr   r^   fbrludrd   re   rf   argsTc                      t          |           S r   intks    r   <lambda>z%CubeCamera.__init__.<locals>.<lambda>      #a&& r   keyr,   )rv   rw   viewForwardru   r@   rightDirection	positionsr{   r   sortedkeysr   r~   )r   rv   r   ru   r   posr   s          r   r   zCubeCamera.__init__   sz   & &)+v>>" 	))]3Q3Q3Q 	* 	
 	
 	

 	 	8 	8C6{ 8 8di''%'DIcN37	#s6{3/008
 9 	J 	JC#DIcN8H8HIIIDIcNNy~~''9 	 	C--TYs^ .     	**,,,,,r   c                     dg}t          t          t          |          t          |                              D ])}| j                            ||         ||                    *d S Nr^   r   r   s       r   r   zCubeCamera.updatePriority  k     /S..G==>> 	M 	MC++GCL,s:KLLLL	M 	Mr   c              #      K    j         D ]}d|d         it          d           |d         D ]R} j        |                             |d         |                   }  j        j        d i ||i t          ||           St          dd                     fdt          d          D             d<    fdt          d          D             d<   d	d
<    j                            d           V   fdt          d          D             d<    fdt          d          D             d<   dd
<    j                            d           V   j                            d            fdt          d          D             d<    fdt          d          D             d<   dd
<   V   j                            d            fdt          d          D             d<    fdt          d          D             d<   dd
<   V   j                            d            fdt          d          D             d<    fdt          d          D             d<   dd
<   V   j                            d            fdt          d          D             d<    fdt          d          D             d<   dd
<   V  d S )!Nrt   zP================================================================================r   c                 H    g | ]}d          |         j         |         z   S rt   r   r	   rG   r   r   s     r   rl   z'CubeCamera.__iter__.<locals>.<listcomp>#  =     ( ( (FGJ'*T-=a-@@( ( (r   rJ   rs   c                 *    g | ]}j         |         S r   ru   r	   rG   r   s     r   rl   z'CubeCamera.__iter__.<locals>.<listcomp>&      #E#E#EqDKN#E#E#Er   ru   frontr^   r   r^   c                 H    g | ]}d          |         j         |         z
  S r   r   r   s     r   rl   z'CubeCamera.__iter__.<locals>.<listcomp>,  r   r   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z'CubeCamera.__iter__.<locals>.<listcomp>/  r   r   backr,   r0   c                 H    g | ]}d          |         j         |         z   S r   r   r   s     r   rl   z'CubeCamera.__iter__.<locals>.<listcomp>6  =     ( ( (IJJ'*T-@-CC( ( (r   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z'CubeCamera.__iter__.<locals>.<listcomp>9  r   r   rightc                 H    g | ]}d          |         j         |         z
  S r   r   r   s     r   rl   z'CubeCamera.__iter__.<locals>.<listcomp>?  r   r   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z'CubeCamera.__iter__.<locals>.<listcomp>B  r   r   left   c                 H    g | ]}d          |         j         |         z   S r   r   r   s     r   rl   z'CubeCamera.__iter__.<locals>.<listcomp>H  ;     ( ( (ABJ'*T[^;( ( (r   c                 ,    g | ]}j         |          S r   r   r   s     r   rl   z'CubeCamera.__iter__.<locals>.<listcomp>K  $    #M#M#Mqd&6q&9%9#M#M#Mr   up   c                 H    g | ]}d          |         j         |         z
  S r   r   r   s     r   rl   z'CubeCamera.__iter__.<locals>.<listcomp>Q  r   r   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z'CubeCamera.__iter__.<locals>.<listcomp>T  !    #J#J#JAD$4Q$7#J#J#Jr   downr   )r   printr   r}   rv   r   rM   )r   r   r   r   r   s   `   @r   r   zCubeCamera.__iter__  s'     > A	 A	CC
OJ (OOO6{    in**3v;s+;<<- -;;c
;;;c3*j4555( ( ( ( (KPQR88( ( (J|$ $F#E#E#EE!HH#E#E#EJx (/J}%))a)888( ( ( ( (KPQR88( ( (J|$ $F#E#E#EE!HH#E#E#EJx (.J}%))a)888 ))a)888( ( ( ( (NSTUhh( ( (J|$ $F#E#E#EE!HH#E#E#EJx (/J}% ))a)888( ( ( ( (NSTUhh( ( (J|$ $F#E#E#EE!HH#E#E#EJx (.J}% ))a)888( ( ( ( (FKAhh( ( (J|$ $N#M#M#ME!HH#M#M#MJx (,J}% ))a)888( ( ( ( (FKAhh( ( (J|$ $K#J#J#Jq#J#J#JJx (.J}%CA	 A	r   Nr   r   r   r   r   r      sJ        - - -@M M M
B B B B Br   r   c                        e Zd Zd Zd Zd ZdS )StereoCubeCamerac                    || _         g | _        || _        || _        t	          ||          | _        || _        || _        | j                             ddg d           | j                             ddddg           i | _	        |D ]<}|d         D ]1}|| j	        vr
i | j	        |<   d	| j	        |         |d         |         <   2=| j	        D ]'}t          | j	        |         d
           | j	        |<   (| j	                                        | _        | j	        D ]*}| j                             d|| j	        |                    +| j                                          d S )Nr   r^   r   r   eyer   r   r   Tc                      t          |           S r   r   r   s    r   r   z+StereoCubeCamera.__init__.<locals>.<lambda>{  r   r   r   r,   )rv   rw   r   ru   r@   r   r   
eyeSpacingr{   r   r   r   r   r~   )r   rv   r   ru   r   r   r   r   s           r   r   zStereoCubeCamera.__init__a  s   & &)+v>>"$ 	))]3Q3Q3Q 	* 	
 	
 	
 	))UFG+< 	* 	
 	
 	

 	 	8 	8C6{ 8 8di''%'DIcN37	#s6{3/008
 9 	J 	JC#DIcN8H8HIIIDIcNNy~~''9 	 	C--TYs^ .     	**,,,,,r   c                     dg}t          t          t          |          t          |                              D ])}| j                            ||         ||                    *d S r   r   r   s       r   r   zStereoCubeCamera.updatePriority  r   r   c              #      K    j         D ]Ri }d         D ]B} j        |                             d         |                   }  j        j        d>i ||i Cd|d<    j                            d            fd j        D              j                            d            fdt          d	          D             |d
<   fdt          d	          D             |d<    fdt          d	          D             |d<   |V   j                            d            fdt          d	          D             |d
<   fdt          d	          D             |d<    fdt          d	          D             |d<   |V  d|d<    j                            d            fd j        D              j                            d            fdt          d	          D             |d
<   fdt          d	          D             |d<    fdt          d	          D             |d<   |V   j                            d            fdt          d	          D             |d
<   fdt          d	          D             |d<    fdt          d	          D             |d<   |V   j                            d           d|d<    fd j        D              j                            d            fdt          d	          D             |d
<   fdt          d	          D             |d<    fd t          d	          D             |d<   |V   j                            d            fd!t          d	          D             |d
<   fd"t          d	          D             |d<    fd#t          d	          D             |d<   |V   j                            d	           d$|d<    fd% j        D              j                            d            fd&t          d	          D             |d
<   fd't          d	          D             |d<    fd(t          d	          D             |d<   |V   j                            d            fd)t          d	          D             |d
<   fd*t          d	          D             |d<    fd+t          d	          D             |d<   |V   j                            d,           d-|d<    fd. j        D              j                            d            fd/t          d	          D             |d
<   fd0t          d	          D             |d<    fd1t          d	          D             |d<   |V   j                            d            fd2t          d	          D             |d
<   fd3t          d	          D             |d<    fd4t          d	          D             |d<   |V   j                            d5           d6|d<    fd7 j        D              j                            d            fd8t          d	          D             |d
<   fd9t          d	          D             |d<    fd:t          d	          D             |d<   |V   j                            d            fd;t          d	          D             |d
<   fd<t          d	          D             |d<    fd=t          d	          D             |d<   |V  Td S )?Nr   r   r^   r   r   c                 D    g | ]}|t          j                  z  d z  S g      ?floatr   r	   r3   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  :       78U4?+++c1  r   )r   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   rJ   ru   c                 >    g | ]}d          |         |         z
  S r   r   r	   r   	deltaVectr   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  8     & & &<?Z%	#6& & &r   rt   c                 Z    g | ]'}d          |         j         |         z   |         z
  (S r   r   r	   rG   r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  H     ( ( ( Z#d&6q&99IaLH( ( (r   rs   r,   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 >    g | ]}d          |         |         z   S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 Z    g | ]'}d          |         j         |         z   |         z   (S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   r   c                 F    g | ]}|t          j                  z  d z   S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  s=       89!eDO,,,s23  r   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 >    g | ]}d          |         |         z
  S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 Z    g | ]'}d          |         j         |         z
  |         z
  (S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 >    g | ]}d          |         |         z   S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 Z    g | ]'}d          |         j         |         z
  |         z   (S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   r0   r   c                 F    g | ]}|t          j                  z  d z   S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  s0    WWW1uT_555;<WWWr   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 >    g | ]}d          |         |         z
  S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 Z    g | ]'}d          |         j         |         z   |         z
  (S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  H     ( ( ( Z#d&9!&<<y|K( ( (r   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 >    g | ]}d          |         |         z   S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 Z    g | ]'}d          |         j         |         z   |         z   (S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r  r   r   c                 D    g | ]}|t          j                  z  d z  S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  s-    VVV!eDO444s:VVVr   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 >    g | ]}d          |         |         z
  S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 Z    g | ]'}d          |         j         |         z
  |         z
  (S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r  r   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 >    g | ]}d          |         |         z   S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 Z    g | ]'}d          |         j         |         z
  |         z   (S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r  r   r   r   c                 D    g | ]}|t          j                  z  d z  S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 ,    g | ]}j         |          S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>
  r   r   c                 >    g | ]}d          |         |         z
  S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 Z    g | ]'}d          |         j         |         z   |         z
  (S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  C     ( ( (IJZ#dk!n4y|C( ( (r   c                 ,    g | ]}j         |          S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 >    g | ]}d          |         |         z   S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r   r   c                 Z    g | ]'}d          |         j         |         z   |         z   (S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>  r  r   r   r   c                 D    g | ]}|t          j                  z  d z  S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>   r   r   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>%  r   r   c                 >    g | ]}d          |         |         z
  S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>&  r   r   c                 Z    g | ]'}d          |         j         |         z
  |         z
  (S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>)  r  r   c                 *    g | ]}j         |         S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>/  r   r   c                 >    g | ]}d          |         |         z   S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>0  r   r   c                 Z    g | ]'}d          |         j         |         z
  |         z   (S r   r   r   s     r   rl   z-StereoCubeCamera.__iter__.<locals>.<listcomp>3  r  r   r   )r   r   r}   rv   r   r   rM   r   )r   r   r   r   r   r   s   `   @@r   r   zStereoCubeCamera.__iter__  si     > k	 k	CJ6{ < <in**3v;s+;<<- -;;c
;;;; )0J}%))a)888   <@<O  I ))a)000#E#E#E#EE!HH#E#E#EJx & & & & &CH88& & &Jz"( ( ( ( ( (q( ( (J|$ ))a)000#E#E#E#EE!HH#E#E#EJx & & & & &CH88& & &Jz"( ( ( ( ( (q( ( (J|$  )/J}%))a)888   =A=P  I ))a)000#E#E#E#EE!HH#E#E#EJx & & & & &CH88& & &Jz"( ( ( ( ( (q( ( (J|$ ))a)000#E#E#E#EE!HH#E#E#EJx & & & & &CH88& & &Jz"( ( ( ( ( (q( ( (J|$  ))a)888(/J}%WWWWdFVWWWI))a)000#E#E#E#EE!HH#E#E#EJx & & & & &CH88& & &Jz"( ( ( ( ( (q( ( (J|$ ))a)000#E#E#E#EE!HH#E#E#EJx & & & & &CH88& & &Jz"( ( ( ( ( (q( ( (J|$  ))a)888(.J}%VVVVTEUVVVI))a)000#E#E#E#EE!HH#E#E#EJx & & & & &CH88& & &Jz"( ( ( ( ( (q( ( (J|$ ))a)000#E#E#E#EE!HH#E#E#EJx & & & & &CH88& & &Jz"( ( ( ( ( (q( ( (J|$  ))a)888(,J}%   <@<O  I ))a)000#M#M#M#ME!HH#M#M#MJx & & & & &CH88& & &Jz"( ( ( ( ( (NSTUhh( ( (J|$ ))a)000#M#M#M#ME!HH#M#M#MJx & & & & &CH88& & &Jz"( ( ( ( ( (NSTUhh( ( (J|$  ))a)888(.J}%   <@<O  I ))a)000#J#J#J#Jq#J#J#JJx & & & & &CH88& & &Jz"( ( ( ( ( (NSTUhh( ( (J|$ ))a)000#J#J#J#Jq#J#J#JJx & & & & &CH88& & &Jz"( ( ( ( ( (NSTUhh( ( (J|$ Wk	 k	r   Nr   r   r   r   r   r   ^  sJ        "- "- "-HM M M
l l l l lr   r   c                   &    e Zd Zd Zd Zd Zd ZdS )MultiViewCamerac                 0    || _         g | _        g | _        d S r   )rv   rw   positionNames)r   rv   s     r   r   zMultiViewCamera.__init__?  s     & r   c                    | j                             |t          | j                  |||d           | j                            |           | j                            dd| j                   | j                                         d S )N)re   nameIdxrs   rt   ru   r   	multiViewr   )rw   r|   rz   r*  rv   r{   r~   )r   re   rs   rt   ru   s        r   registerViewPointz!MultiViewCamera.registerViewPointD  s    ""t122($  	
 	
 	
 	!!$'''))[1C 	* 	
 	
 	
 	**,,,,,r   c                     dg}t          t          t          |          t          |                              D ])}| j                            ||         ||                    *d S )Nr-  r   r   s       r   r   zMultiViewCamera.updatePriorityT  sk    -S..G==>> 	M 	MC++GCL,s:KLLLL	M 	Mr   c              #   h   K   | j         D ]'}| j                            |d                    |V  (d S )Nr,  )r-  r   r   s     r   r   zMultiViewCamera.__iter__Y  sP      - 	 	J))Jy4I)JJJ	 	r   N)r   r   r   r   r.  r   r   r   r   r   r(  r(  >  sS             
- - - M M M
    r   r(  c                     |                                  }|                    |d                    |                    |d                    |                    |d                    d S )Nrt   rs   ru   )GetActiveCameraSetPositionSetFocalPoint	SetViewUp)rendererr   cameras      r   update_camerar8  d  sd    %%''F
z*-...
L1222
Z)*****r   c                     |                                  }t          ||                                |                                |                                ||          S r   )r2  rV   GetFocalPointGetPosition	GetViewUp)r6  rv   	phiValuesthetaValuesr7  s        r   create_spherical_camerar?  k  s[    %%''F  r   c                     |                                  }t          ||                                |                                |                                ||          S r   )r2  r   r:  r;  r<  )r6  rv   r=  r   r7  s        r   create_cylindrical_camerarA  w  s[    %%''F  r   N)r   )mathr   r'   r*   r.   r5   r@   rD   rT   objectrV   r   r   r   r(  r8  r?  rA  r   r   r   <module>rD     s             
7 7 7
    K K K  [ [ [ [ [f [ [ [F8 8 8 8 8 8 8 8@j j j j j j j jdX X X X Xv X X X@    f   L+ + +	 	 		 	 	 	 	r   