
    h                         d dl Z d Zd Zd Zy)    Nc                 H   	
 t         d         t         d         ct        d         t        d         ct        |d         t        |d         ct        |d         t        |d         ci 	i 
 	
fd} |       S )Nxyc                     j                         D ]  \  } }| k7  rP| k7  rK|d   \  }}t        ||
      }t        |d   d      }t        |d   d      }||g|d   |d   g
| <   [| k(  r=t        t        d         d      t        t        d         d      g|d   |d   g
<   t        t        	d         d      t        t        	d         d      g|d   |d   g
<    j                         D ]O  \  } }|d   \  }}t        ||
      }t        |d   d      }t        |d   d      }||g|d   |d   g| <   Q 
dS )Nr   r      r         )
new_coordssubdivision_list)itemscalculate_new_positionroundfloat)keyvaluex2y2end_point_positivenew_x2new_y2coordinates
new_coord1
new_coord2r
   new_subdivisionselected_point1selected_point2r   x1x3x4x5y1y3y4y5s          K/home/developers/rajanand/mypropertyqr-fmb-refixing-v2/pydep/rotateCords.pycalculate_new_coordzCupdate_lines_with_new_slope_and_length.<locals>.calculate_new_coord
   s   %++- 
	GJCo%#*@qB%;BBBPRTVXZ\^`b%c"1#6:1#6:$*F#3U1XuQx"H
3'05eJsO6LQ0OQVW\]ghk]lWmnoQp/qsxyzs{  ~C  DE  ~F  /G
?+05eJsO6LQ0OQVW\]ghk]lWmnoQp/qsxyzs{  ~C  DE  ~F  /G
?+
	G +002 	JJC1XFB!7BBBPRTVXZ\^!_-c2A6F-c2A6F%+V$4eAha#IOC 	J (?KK    )r   )r   r   
old_coord1
old_coord2r   r   r   r   r&   r
   r   r   r   r   r    r!   r"   r#   r$   s   ``  ```` @@@@@@@@@@r%   &update_lines_with_new_slope_and_lengthr*      s    :c?#U:c?%;FB:c?#U:c?%;FB:c?#U:c?%;FB:c?#U:c?%;FBJOL L L*   r'   c
                    t        j                  || z
  dz  ||z
  dz  z         }
t        j                  ||z
  dz  |	|z
  dz  z         }|
dkD  r||
z  nd}t        j                  ||z
  || z
        }t        j                  |	|z
  ||z
        }||z
  }|| z
  ||z
  d}| || z
  |z  z   }|||z
  |z  z   }t        ||| ||      }|d   |d   z   |d   |d   z   d}|S )Nr	   r   g      ?r   r   r   r   )mathsqrtatan2rotate_point)axaybxbycxcyax_neway_newcx_newcy_neworiginal_distancenew_distancescale_factorinitial_angle	new_anglerotation_angletranslation_vector	scaled_bx	scaled_by	rotated_bnew_bs                        r%   r   r   !   s$   		27Q,"r'A"=>99fvo1Vf_q4HHIL 8I17L<"33RUL JJrBwR0M

6F?FVO<I.N  &{"= b2g--Ib2g--I Y	2r>JI s^055s^055E Lr'   c                     | |z
  }||z
  }|t        j                  |      z  |t        j                  |      z  z
  }|t        j                  |      z  |t        j                  |      z  z   }||z   }	||z   }
|	|
dS )Nr,   )r-   cossin)pxpyoxoyangletranslated_pxtranslated_py
rotated_px
rotated_pynew_pxnew_pys              r%   r0   r0   @   sy    GMGM%0=488E?3RRJ%0=488E?3RRJ"_F"_Ff%%r'   )r-   r*   r   r0    r'   r%   <module>rU      s    !>>&r'   