
    BPc                         d dl Z d dlZd dlmZmZ d dlZd Z G d dej                  Zedk    r e            	                                 dS dS )    N)PathElementPatternc                 V   | dk     r
|dk     rg dS | |k    r
||k    rg dS | dk     r||z  || z  z
  || z
  z  }d} |dk     r||z  || z  z
  || z
  z  }d}| |k    r||| z
  ||z
  z  || z
  z  z   }|} ||k    r||| z
  ||z
  z  || z
  z  z   }|}|dk     r
|dk     rg dS ||k    r
||k    rg dS | |k    r
||k    rg dS |dk     r| |z  ||z  z
  ||z
  z  } d}|dk     r| |z  ||z  z
  ||z
  z  }d}||k    r| ||z
  || z
  z  ||z
  z  z   } |}||k    r| ||z
  || z
  z  ||z
  z  z   }|}| |||gS )Nr   )r   r   r   r    )x1y1x2y2whs         2/usr/share/inkscape/extensions/generate_voronoi.py	clip_liner       s   	Avv"q&&||	Avv"q&&||	Avv2gRBG,	Avv2gRBG,	Avv1r6b2g&"r'22	Avv1r6b2g&"r'22	Avv"q&&||	Avv"q&&||	RxxB"HH||	Avv2gRBG,	Avv2gRBG,	Avv1r6b2g&"r'22	Avv1r6b2g&"r'22B    c                       e Zd Zd Zd ZdS )GenerateVoronoic                     |                     d           |                     dt          dd           |                     dt          dd           d S )	Nz--tabz--size
   zAverage size of cell (px))typedefaulthelpz--borderr   zSize of Border (px))add_argumentint)selfparss     r   add_argumentszGenerateVoronoi.add_argumentsG   sc    '"""31L 	 	
 	
 	
 	*3@UVVVVVr   c           	         | j         j        s!t          j        t	          d                    S | j                            d          }| j         xj        |z  c_        | j         xj        |z  c_        | j        j	        
                                }|                                }|                                j        }| j        j                            t!                                }|                    d           |                    dt'          |j                             |                    dt'          |j                             |                    dd           |j                            |j        |d         d	         z
  |j        |d
         d	         z
             t5          j                    }g }t9          | j         j                  }t;          t=          |j        |j        z  | j         j        z  | j         j        z                      D ]}	t?          j                    |j        z  }
t?          j                    |j        z  }|dk    r|                     t5          j!        |
|                     |
|k     r|                     t5          j!        |
|j        z   |                     ||k     r8|                     t5          j!        |
|j        z   ||j        z                        ||j        |z
  k    r8|                     t5          j!        |
|j        z   ||j        z
                       |
|j        |z
  k    r|                     t5          j!        |
|j        z
  |                     ||k     r8|                     t5          j!        |
|j        z
  ||j        z                        ||j        |z
  k    r8|                     t5          j!        |
|j        z
  ||j        z
                       ||k     r0|                     t5          j!        |
||j        z                        ||j        |z
  k    r0|                     t5          j!        |
||j        z
                       Z|
| k    rK|| k    rD|
|j        |z   k     r6||j        |z   k     r(|                     t5          j!        |
|                     tE          |          dk     rt          j        d          S t5          j#        |          }t5          j        ||           d}|j$        D ]"}|d
         dk    r|d	         dk    rtK          |j&        |d
                  d         |j&        |d
                  d
         |j&        |d	                  d         |j&        |d	                  d
         |j        |j                  \  }}}}nr|d
         dk    r/|j'        |d                  d
         dk    rc|j'        |d                  d	         |j'        |d                  d         z  }|j&        |d
                  d
         |j        d	z  k    r|j        }n_d}n\|j        }|j'        |d                  d	         |j        |j'        |d                  d         z  z
  |j'        |d                  d
         z  }tK          |j&        |d
                  d         |j&        |d
                  d
         |||j        |j                  \  }}}}n6|d	         dk    r)|d         tE          |j'                  k    rd}d}n|j'        |d                  d
         dk    rc|j'        |d                  d	         |j'        |d                  d         z  }|j&        |d	                  d
         |j        d	z  k    r|j        }n8d}n5d}|j'        |d                  d	         |j'        |d                  d
         z  }tK          |||j&        |d	                  d         |j&        |d	                  d
         |j        |j                  \  }}}}|s|s|s|r|d||||fz  z  }$dt'          |          d}|t'          t          j(        |                    d}|                     tS          di |           ||j*        d<   tW          |t          j,                  r|D ]}||j*        d<   d S d S )NzPlease select an object1pxVoronoiwidthheightpatternUnitsuserSpaceOnUser            z3Please choose a larger object, or smaller cell size zM %.3f,%.3f %.3f,%.3f z#000000)strokezstroke-width)dstylefillr   )-optionsidsinkexerrormsg_svgunittouusizeborder	selectionfirstbounding_boxcomposed_transformmatrixdefsaddr   set_random_idsetstrr   r    patternTransformadd_translatelefttopvoronoiContextfloatranger   randomappendSitelenSiteListedgesr   verticeslinesStyler   r)   
isinstanceGroup)r   scaleobjbboxmatpatterncptsbixyslpathedger   r   r	   r
   xtempytemppatternstyleattribsnodes                           r   effectzGenerateVoronoi.effectN   s!   | 	@>!$=">">???!!%((U"u$h &&((!!$$&&-(-##GII..i(((GS__---Hc$+..///N$4555 ..IAq	!48c!fQi#7	
 	
 	

 O$,%&&
T[(4<+<<t|?PPQQ
 
 	/ 	/A $*,A$+-A1uu

7<1--...q55JJw|A
NA>>???1uu

7<DJDK#P#PQQQ4;?**

7<DJDK#P#PQQQtzA~%%JJw|A
NA>>???1uu

7<DJDK#P#PQQQ4;?**

7<DJDK#P#PQQQq55JJw|Aq4;??@@@t{Q&&JJw|Aq4;??@@@aRAFFq4:>'9'9a$+PQ/>Q>Q

7<1--... s88a<<>"WXXX c""AG 4	D 4	DDAw!||Q1#,JtAw'*JtAw'*JtAw'*JtAw'*JK$ $ RRR aA747#A&!++GDG,Q/!'$q'2B12EEEz$q'*1-a?? $ ! JEQ(+dj1747;KA;N.NNQ(+,E $-JtAw'*JtAw'*JK$ $ RRR aA7c!'ll**EEEWT!W%a(A--GDG,Q/!'$q'2B12EEEz$q'*1-a?? $ !EGDG,Q/!'$q'2B12EEE#,JtAw'*JtAw'*JK$ $ RR  DR D2 D D0BB3CCC"+SZZHHs5;|+D+D'E'EFF{--W--... $	&c5;'' 	- - -%,
6""	- 	-- -r   N)__name__
__module____qualname__r   rd   r   r   r   r   r   F   s:        W W Wy- y- y- y- y-r   r   __main__)
rF   r-   r   r   rB   r   EffectExtensionr   re   runr   r   r   <module>rk      s   0   & & & & & & & & # # #LA- A- A- A- A-e+ A- A- A-H zO r   