
    \i                          S r SSKJrJr  SSKJr  SSKJr   " S S\5      r " S S\5      r	 " S	 S
\5      r
 " S S\5      r " S S\5      r " S S\5      rg)a  
Copyright 2011-2018 Kyle Lancaster | 2019 Patrick Eisoldt

Simplekml is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

    )Kmlablecheck)AltitudeMode)Coordinatesc                     ^  \ rS rSrSr    SU 4S jjr\S 5       r\R                  S 5       r\S 5       r	\	R                  S 5       r	\S 5       r
\
R                  S	 5       r
\S
 5       r\R                  S 5       rSrU =r$ )Box   zvAbstract class for box elements.

The arguments are the same as the properties.

.. note::
  Not to be used directly.
c                    > [         [        U ]  5         XR                  S'   X R                  S'   X0R                  S'   X@R                  S'   g )Nnorthsoutheastwest)superr   __init___kml)selfr   r   r   r   	__class__s        S/var/www/html/kml_chatgpt/mouzaenv/lib/python3.13/site-packages/simplekml/region.pyr   Box.__init__!   sB    
 	c4!#"		'"		' 		& 		&    c                      U R                   S   $ )z_Latitude of the north edge of the bounding box, in decimal degrees from 0 to 90, accepts float.r   r   r   s    r   r   	Box.north,        yy!!r   c                      XR                   S'   g )Nr   r   )r   r   s     r   r   r   1       "		'r   c                      U R                   S   $ )z_Latitude of the south edge of the bounding box, in decimal degrees from 0 to 90, accepts float.r   r   r   s    r   r   	Box.south5   r   r   c                      XR                   S'   g )Nr   r   )r   r   s     r   r   r   :   r   r   c                      U R                   S   $ )z_Longitude of the east edge of the bounding box, in decimal degrees from 0 to 90, accepts float.r   r   r   s    r   r   Box.east>        yy  r   c                      XR                   S'   g )Nr   r   )r   r   s     r   r   r"   C        		&r   c                      U R                   S   $ )z_Longitude of the west edge of the bounding box, in decimal degrees from 0 to 90, accepts float.r   r   r   s    r   r   Box.westG   r#   r   c                      XR                   S'   g )Nr   r   )r   r   s     r   r   r'   L   r%   r    )NNNN)__name__
__module____qualname____firstlineno____doc__r   propertyr   setterr   r   r   __static_attributes____classcell__r   s   @r   r   r      s     		! " " \\# # " " \\# # ! ! 
[[! ! ! ! 
[[! !r   r   c                   d   ^  \ rS rSrSrSU 4S jjr\S 5       r\R                  S 5       rSr	U =r
$ )	LatLonBoxQ   zSpecifies where the top, bottom, right, and left sides of a bounding box for the ground overlay are aligned.

Args:
  * *same as properties*
  * *all other args same as* :class:`simplekml.Box`

c                 J   > [         [        U ]
  " S0 UD6  XR                  S'   g )Nrotationr)   )r   r5   r   r   )r   r8   kwargsr   s      r   r   LatLonBox.__init__Y   s!    i'1&1 (		*r   c                      U R                   S   $ )zYRotation of the overlay about its center, in degrees.

Values can be 180, accepts float.
r8   r   r   s    r   r8   LatLonBox.rotation]   s     yy$$r   c                      XR                   S'   g )Nr8   r   )r   r8   s     r   r8   r<   e   s     (		*r   r)   N)r*   r+   r,   r-   r.   r   r/   r8   r0   r1   r2   r3   s   @r   r5   r5   Q   s9    ) % % __) )r   r5   c                      ^  \ rS rSrSrSS\R                  4U 4S jjr\S 5       r	\	R                  S 5       r	\S 5       r\R                  S 5       r\S	 5       r\R                  S
 5       rSrU =r$ )LatLonAltBoxj   zA bounding box that describes an area of interest defined by geographic coordinates and altitudes.

Args:
  * *same as properties*
  * *all other args same as* :class:`simplekml.Box`
r   c                    > [         [        U ]
  " S0 UD6  XR                  S'   X R                  S'   X0R                  S'   g )NminAltitudemaxAltitudealtitudeModer)   )r   r@   r   r   )r   minaltitudemaxaltitudealtitudemoder9   r   s        r   r   LatLonAltBox.__init__q   s;    
 	lD*4V4#.		- #.		- $0		.!r   c                      U R                   S   $ )z*Minimum altitude in meters, accepts float.rC   r   r   s    r   rF   LatLonAltBox.minaltitude{        yy''r   c                      XR                   S'   g )NrC   r   )r   rC   s     r   rF   rK          #.		- r   c                      U R                   S   $ )z*Maximum altitude in meters, accepts float.rD   r   r   s    r   rG   LatLonAltBox.maxaltitude   rL   r   c                      XR                   S'   g )NrD   r   )r   rG   s     r   rG   rP      rN   r   c                      U R                   S   $ )zmSpecifies how the altitude for the Camera is interpreted.

Accepts :class:`simplkml.AltitudeMode` constants.
rE   r   r   s    r   rH   LatLonAltBox.altitudemode   s     yy((r   c                      XR                   S'   g )NrE   r   )r   rH   s     r   rH   rS          $0		.!r   r)   )r*   r+   r,   r-   r.   r   clamptogroundr   r/   rF   r0   rG   rH   r1   r2   r3   s   @r   r@   r@   j   s     *881 ( ( / / ( ( / / ) ) 1 1r   r@   c                     ^  \ rS rSrSr    SU 4S jjr\S 5       r\R                  S 5       r\S 5       r	\	R                  S 5       r	\S 5       r
\
R                  S	 5       r
\S
 5       r\R                  S 5       rSrU =r$ )Lod   zkLevel of Detail describes the size of the projected region.

The arguments are the same as the properties.
c                    > [         [        U ]  5         XR                  S'   X R                  S'   X0R                  S'   X@R                  S'   g )NminLodPixelsmaxLodPixelsminFadeExtentmaxFadeExtent)r   rX   r   r   )r   minlodpixelsmaxlodpixelsminfadeextentmaxfadeextentr   s        r   r   Lod.__init__   sB    
 	c4!#$0		.!$0		.!%2		/"%2		/"r   c                      U R                   S   $ )z3Minimum limit of the visibility range, accepts int.r[   r   r   s    r   r_   Lod.minlodpixels        yy((r   c                      XR                   S'   g )Nr[   r   )r   r_   s     r   r_   re      rU   r   c                      U R                   S   $ )z3Maximum limit of the visibility range, accepts int.r\   r   r   s    r   r`   Lod.maxlodpixels   rf   r   c                      XR                   S'   g )Nr\   r   )r   r`   s     r   r`   ri      rU   r   c                      U R                   S   $ )z<Minumum distance over which the geometry fades, accepts int.r]   r   r   s    r   ra   Lod.minfadeextent        yy))r   c                      XR                   S'   g )Nr]   r   )r   ra   s     r   ra   rl          %2		/"r   c                      U R                   S   $ )z<Maximum distance over which the geometry fades, accepts int.r^   r   r   s    r   rb   Lod.maxfadeextent   rm   r   c                      XR                   S'   g )Nr^   r   )r   rb   s     r   rb   rq      ro   r   r)   )r   r   r   )r*   r+   r,   r-   r.   r   r/   r_   r0   r`   ra   rb   r1   r2   r3   s   @r   rX   rX      s    
     		3 ) ) 1 1 ) ) 1 1 * * 3 3 * * 3 3r   rX   c                   d   ^  \ rS rSrSrSU 4S jjr\S 5       r\R                  S 5       rSr	U =r
$ )GxLatLonQuad   fUsed for nonrectangular quadrilateral ground overlays.

The arguments are the same as the properties.
c                 d   > [         [        U ]  5         [        5       U R                  S'   Xl        g )Ncoordinates)r   ru   r   r   r   coords)r   rz   r   s     r   r   GxLatLonQuad.__init__   s%    lD*,#.=		- r   c                      U R                   S   $ )a  Four corners of quad coordinates, accepts list of four tuples in the order lon, lat.

The coordinates must be specified in counter-clockwise order with the first coordinate corresponding to the
lower-left corner of the overlayed image. eg. [(0, 1), (1,1), (1,0), (0,0)]
ry   r   r   s    r   rz   GxLatLonQuad.coords   s     yy''r   c                     Uc  / nO[        U5      S:  a  [        S5      e[        5       U R                  S'   U R                  S   R	                  U5        g )N   z2Invalid list length. List should contain 4 tuples.ry   )len
ValueErrorr   r   addcoordinates)r   rz   s     r   rz   r}      sJ    >F[1_QRR#.=		- 		- //7r   )rz   r>   )r*   r+   r,   r-   r.   r   r/   rz   r0   r1   r2   r3   s   @r   ru   ru      s9    
 ( ( ]]8 8r   ru   c                      ^  \ rS rSrSrS	U 4S jjr\S 5       r\R                  \	" \
5      S 5       5       r\S 5       r\R                  \	" \5      S 5       5       rSrU =r$ )
Region   rw   c                    > [         [        U ]  5         Uc
  [        5       nUc
  [	        5       nXR
                  S'   X R
                  S'   g )Nr@   rX   )r   r   r   r@   rX   r   )r   latlonaltboxlodr   s      r   r   Region.__init__   sA    fd$&'>L;%C$0		.!		%r   c                      U R                   S   $ )zDBounding box that describes an area, accepts `simplkml.LatLonAltBox`r@   r   r   s    r   r   Region.latlonaltbox   rf   r   c                      XR                   S'   g )Nr@   r   )r   r   s     r   r   r      s     %1		.!r   c                      U R                   S   $ )z'Level of Detail, accepts `simplkml.Lod`rX   r   r   s    r   r   
Region.lod  s     yyr   c                      XR                   S'   g )NrX   r   )r   r   s     r   r   r   	  s     		%r   r)   )NN)r*   r+   r,   r-   r.   r   r/   r   r0   r   r@   r   rX   r1   r2   r3   s   @r   r   r      s     ) ) 
<1  1     	ZZ
3Z  r   r   N)r.   simplekml.baser   r   simplekml.constantsr   simplekml.coordinatesr   r   r5   r@   rX   ru   r   r)   r   r   <module>r      s`   $ * , -6!' 6!r) )2-13 -1`23' 23j87 8: W  r   