;ò
wÀ>c           @   s¬   d  k  Z  d  k Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 f  d „  ƒ  YZ d „  Z d f  d „  ƒ  YZ d e f d „  ƒ  YZ d  S(   Nc         C   s&   |  d | d |  d | d f Sd  S(   Ni    i   (   s   us   v(   s   us   v(    (    s   ../biggles/geometry.pys   pt_add   s    c         C   s&   |  d | d |  d | d f Sd  S(   Ni    i   (   s   us   v(   s   us   v(    (    s   ../biggles/geometry.pys   pt_sub   s    c         C   s   |  | d |  | d f Sd  S(   Ni    i   (   s   as   u(   s   as   u(    (    s   ../biggles/geometry.pys   pt_mul    s    c         C   sZ   t  i | ƒ t  i | ƒ f \ } } | |  d | |  d | |  d | |  d f Sd  S(   Ni    i   (   s   maths   coss   angles   sins   cs   ss   u(   s   us   angles   cs   s(    (    s   ../biggles/geometry.pys   pt_rot#   s    $c         C   s   t  i |  d |  d ƒ Sd  S(   Ni    i   (   s   maths   hypots   u(   s   u(    (    s   ../biggles/geometry.pys   pt_len'   s    c         C   s   t  i |  d |  d ƒ Sd  S(   Ni   i    (   s   maths   atan2s   u(   s   u(    (    s   ../biggles/geometry.pys   pt_angle*   s    c         C   s*   t  |  ƒ } |  d | |  d | f Sd  S(   Ni    i   (   s   pt_lens   us   r(   s   us   r(    (    s   ../biggles/geometry.pys   pt_unit-   s    c         C   sZ   |  t j o | Sn | t j o |  Sn t |  d | d ƒ t |  d | d ƒ f Sd  S(   Ni    i   (   s   as   Nones   bs   min(   s   as   b(    (    s   ../biggles/geometry.pys   pt_min1   s
      c         C   s¶   |  t j o | Sn | t j o |  Sn t |  d | d ƒ } | t j o t |  d | d ƒ } n t |  d | d ƒ } | t j o t |  d | d ƒ } n | | f Sd  S(   Ni    i   (   s   as   Nones   bs   maxs   xs   mins   y(   s   as   bs   ys   x(    (    s   ../biggles/geometry.pys   pt_max6   s      s   BoundingBoxc           B   sÎ   t  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 d „  Z d „  Z d „  Z d „  Z RS(   Nc         G   sQ   t  | ƒ d j o( t t | ƒ |  _ t t | ƒ |  _ n t |  _ t |  _ d  S(   Ni    (	   s   lens   argss   reduces   pt_mins   selfs   p0s   pt_maxs   p1s   None(   s   selfs   args(    (    s   ../biggles/geometry.pys   __init__E   s
    	c         C   s$   d t  |  i ƒ t  |  i ƒ f Sd  S(   Ns   (%s,%s)(   s   strs   selfs   p0s   p1(   s   self(    (    s   ../biggles/geometry.pys   __str__M   s    c         C   s   t  |  i |  i ƒ Sd  S(   N(   s   BoundingBoxs   selfs   p0s   p1(   s   self(    (    s   ../biggles/geometry.pys   copyP   s    c         C   s!   |  i t j p |  i t j Sd  S(   N(   s   selfs   p0s   Nones   p1(   s   self(    (    s   ../biggles/geometry.pys   is_nullS   s    c         C   s5   |  i ƒ  o t Sn t |  i d |  i d ƒ Sd  S(   Ni    (   s   selfs   is_nulls   Nones   abss   p0s   p1(   s   self(    (    s   ../biggles/geometry.pys   widthV   s    c         C   s5   |  i ƒ  o t Sn t |  i d |  i d ƒ Sd  S(   Ni   (   s   selfs   is_nulls   Nones   abss   p0s   p1(   s   self(    (    s   ../biggles/geometry.pys   height\   s    c         C   s5   |  i ƒ  o t Sn t i |  i ƒ  |  i ƒ  ƒ Sd  S(   N(   s   selfs   is_nulls   Nones   maths   hypots   widths   height(   s   self(    (    s   ../biggles/geometry.pys   diagonalb   s    c         C   s-   |  i ƒ  o t Sn |  i ƒ  |  i ƒ  Sd  S(   N(   s   selfs   is_nulls   Nones   heights   width(   s   self(    (    s   ../biggles/geometry.pys   aspect_ratioh   s    c         C   s1   |  i ƒ  o t Sn |  i d |  i d f Sd  S(   Ni    (   s   selfs   is_nulls   Nones   p0s   p1(   s   self(    (    s   ../biggles/geometry.pys   xrangen   s    c         C   s1   |  i ƒ  o t Sn |  i d |  i d f Sd  S(   Ni   (   s   selfs   is_nulls   Nones   p0s   p1(   s   self(    (    s   ../biggles/geometry.pys   yranget   s    c         C   s    |  i ƒ  o t Sn |  i Sd  S(   N(   s   selfs   is_nulls   Nones   p0(   s   self(    (    s   ../biggles/geometry.pys	   lowerleftz   s    c         C   s1   |  i ƒ  o t Sn |  i d |  i d f Sd  S(   Ni    i   (   s   selfs   is_nulls   Nones   p0s   p1(   s   self(    (    s   ../biggles/geometry.pys	   upperleft€   s    c         C   s    |  i ƒ  o t Sn |  i Sd  S(   N(   s   selfs   is_nulls   Nones   p1(   s   self(    (    s   ../biggles/geometry.pys
   upperright†   s    c         C   s1   |  i ƒ  o t Sn |  i d |  i d f Sd  S(   Ni    i   (   s   selfs   is_nulls   Nones   p1s   p0(   s   self(    (    s   ../biggles/geometry.pys
   lowerrightŒ   s    c         C   sF   |  i ƒ  } |  i ƒ  } | d | d d | d | d d f Sd  S(   Ni    i   f2.0(   s   selfs   xranges   xs   yranges   y(   s   selfs   ys   x(    (    s   ../biggles/geometry.pys   center’   s    c         C   s4   t  |  i | i ƒ |  _ t |  i | i ƒ |  _ d  S(   N(   s   pt_mins   selfs   p0s   others   pt_maxs   p1(   s   selfs   other(    (    s   ../biggles/geometry.pys   union—   s    c         C   s:   t  |  i | | f ƒ |  _ t |  i | | f ƒ |  _ d  S(   N(	   s   pt_subs   selfs   p0s   dls   dbs   pt_adds   p1s   drs   dt(   s   selfs   dts   dbs   dls   dr(    (    s   ../biggles/geometry.pys   deform›   s    c         C   s.   t  |  i | ƒ |  _ t  |  i | ƒ |  _ d  S(   N(   s   pt_adds   selfs   p0s   dps   p1(   s   selfs   dp(    (    s   ../biggles/geometry.pys   shiftŸ   s    c         C   sS   t  | d |  i ƒ  |  i ƒ  f ƒ } t |  i | ƒ |  _ t |  i	 | ƒ |  _	 d  S(   Nf2.0(
   s   pt_muls   factors   selfs   widths   heights   dps   pt_subs   p0s   pt_adds   p1(   s   selfs   factors   dp(    (    s   ../biggles/geometry.pys   expand£   s    %c         C   sè   t  t t |  i ƒ  | ƒ | ƒ | ƒ } t  t t |  i ƒ  | ƒ | ƒ | ƒ } t  t t |  i
 ƒ  | ƒ | ƒ | ƒ } t  t t |  i ƒ  | ƒ | ƒ | ƒ } t | t | t | | ƒ ƒ ƒ |  _ t | t | t | | ƒ ƒ ƒ |  _ d  S(   N(   s   pt_adds   pt_rots   pt_subs   selfs	   lowerlefts   ps   angles   as
   lowerrights   bs	   upperlefts   cs
   upperrights   ds   pt_mins   p0s   pt_maxs   p1(   s   selfs   angles   ps   as   cs   bs   d(    (    s   ../biggles/geometry.pys   rotate¨   s    ''''$c         C   sã   | |  i ƒ  j  oh |  i ƒ  | |  i ƒ  } |  i d |  i d | d f |  _ |  i d |  i d | d f |  _ ne |  i ƒ  |  i ƒ  | } |  i d | d |  i d f |  _ |  i d | d |  i d f |  _ d  S(   Ni    i   i   (	   s   ratios   selfs   aspect_ratios   heights   widths   dhs   p0s   p1s   dw(   s   selfs   ratios   dws   dh(    (    s   ../biggles/geometry.pys   make_aspect_ratio°   s    %)%c         C   sp   |  i d | d j oE | d |  i d j o- |  i d | d j o | d |  i d j o d Sn d Sd  S(   Ni    i   (   s   selfs   p0s   qs   p1(   s   selfs   q(    (    s   ../biggles/geometry.pys   containsº   s    `(   s   __name__s
   __module__s   __init__s   __str__s   copys   is_nulls   widths   heights   diagonals   aspect_ratios   xranges   yranges	   lowerlefts	   upperlefts
   upperrights
   lowerrights   centers   unions   deforms   shifts   expands   rotates   make_aspect_ratios   contains(    (    (    s   ../biggles/geometry.pys   BoundingBoxC   s,   																					
c         C   sâ   |  d d | d d |  d d | d d } |  d d | d d |  d d | d d } |  d d | d d |  d d | d d } |  d d | d d |  d d | d d } | | f | | f f Sd  S(   Ni    i   (   s   As   Bs   C00s   C01s   C10s   C11(   s   As   Bs   C00s   C01s   C11s   C10(    (    s   ../biggles/geometry.pys   _matrix_multipyÅ   s
    2222s   AffineTransformc           B   s,   t  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s.   d d f |  _ d d f d d f f |  _ d  S(   Nf0.0f1.0(   s   selfs   ts   m(   s   self(    (    s   ../biggles/geometry.pys   __init__Î   s    c         C   st   |  i d |  i d d | |  i d d | } |  i d |  i d d | |  i d d | } | | f Sd  S(   Ni    i   (   s   selfs   ts   ms   xs   ys   ps   q(   s   selfs   xs   ys   qs   p(    (    s   ../biggles/geometry.pys   __call__Ò   s    33c         C   s’   t  i | ƒ } t  i | ƒ } |  i d |  i d d | |  i d d | } |  i d |  i d d | |  i d d | } | | f Sd  S(   Ni    i   (   s   Numerics   asarrays   xs   x_s   ys   y_s   selfs   ts   ms   ps   q(   s   selfs   xs   ys   qs   ps   x_s   y_(    (    s   ../biggles/geometry.pys   call_vec×   s
    33c         C   s<   |  | i d | i d ƒ |  _ t |  i | i ƒ |  _ d  S(   Ni    i   (   s   selfs   others   ts   _matrix_multiplys   m(   s   selfs   other(    (    s   ../biggles/geometry.pys   composeÞ   s     (   s   __name__s
   __module__s   __init__s   __call__s   call_vecs   compose(    (    (    s   ../biggles/geometry.pys   AffineTransformÌ   s   			s   RectilinearMapc           B   s   t  Z d „  Z RS(   Nc   	      C   s±   t  i |  ƒ | i ƒ  | i ƒ  } | i ƒ  | i ƒ  } | i	 ƒ  | i	 ƒ  f \ } } | d | | d } | d | | d } | | f |  _ | d f d | f f |  _ d  S(   Ni    i   f0.0(   s   AffineTransforms   __init__s   selfs   dests   widths   srcs   sxs   heights   sys	   lowerlefts   ps   qs   txs   tys   ts   m(	   s   selfs   srcs   dests   sys   sxs   txs   tys   qs   p(    (    s   ../biggles/geometry.pys   __init__ä   s    (   s   __name__s
   __module__s   __init__(    (    (    s   ../biggles/geometry.pys   RectilinearMapâ   s   (   s   maths   Numerics   pt_adds   pt_subs   pt_muls   pt_rots   pt_lens   pt_angles   pt_units   pt_mins   pt_maxs   BoundingBoxs   _matrix_multipys   AffineTransforms   RectilinearMap(   s   pt_lens   pt_subs   pt_adds   pt_maxs   Numerics   pt_muls   pt_angles   pt_units   pt_mins   pt_rots   _matrix_multipys   RectilinearMaps   AffineTransforms   BoundingBoxs   math(    (    s   ../biggles/geometry.pys   ?   s   									‚	