HEX
Server: Apache
System: Linux opal14.opalstack.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User: curbgloabal_opal (1234)
PHP: 8.1.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/share/inkscape/extensions/triangle.pyc
�
��Yc@s�dZddlZddlZddlZddlmZddlTd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
dejfd
��YZedkr�e�Zej�ndS(s�
Copyright (C) 2007 John Beard john.j.beard@gmail.com

##This extension allows you to draw a triangle given certain information
## about side length or angles.

##Measurements of the triangle

         C(x_c,y_c)                              
        /`__                                     
       / a_c``--__                               
      /           ``--__ s_a                     
 s_b /                  ``--__                   
    /a_a                    a_b`--__             
   /--------------------------------``B(x_b, y_b)
  A(x_a,y_a)         s_b                         


This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 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 General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
i����N(tcomputePointInNode(t*cCs7|\}}|\}	}
|\}}|\}
}idd6t|�d6dd6}itj|�d6|tjdd�6d	t||
�d
t||�dt|	|
�d
t|
|�dt||
�d
t||�dt||
�d
t||�dd
6}tjj|tjdd�|�dS(Ns#000000tstrokesstroke-widthtnonetfilltstyletlabeltinkscapesM t,s L s ztdtpathtsvg(tstrtsimplestyletformatStyletinkextaddNStetreet
SubElement(t.0t.1t.2t.3twidthtnametparenttx1ty1tx2ty2tx3ty3toxtoyRttri_attribs((s*/usr/share/inkscape/extensions/triangle.pytdraw_SVG_tri(s-!�cCs0||||||d||}t|�S(Ni(tacos(tatbtctcosx((s*/usr/share/inkscape/extensions/triangle.pytangle_from_3_sides2s&cCsF||||d||t|�}|dkr>t|�SdSdS(Nii(tcostsqrt(ts_ats_bta_ct	c_squared((s*/usr/share/inkscape/extensions/triangle.pytthird_side_from_enclosed_angle6s(
cCs*|t|�}|t|�}||gS(N(R*tsin(tradiustangletxty((s*/usr/share/inkscape/extensions/triangle.pyt
pt_on_circ=scCs*|\}}|\}}||||gS(N((RRRRRR((s*/usr/share/inkscape/extensions/triangle.pytv_addBscCsR|||koQ|||koQ|||koQ|dkoQ|dkoQ|dkS(Ni((R%R&R'((s*/usr/share/inkscape/extensions/triangle.pytis_valid_tri_from_sidesEscCs�t|||�r�t|||�}d}t||df�}t|t|t|��}	|	d|	d<t|d|	d�d}
|	dd}|d|
|d|f}t|||	||d|�ntjj	d�dS(NiiitTriangles'Error:Invalid Triangle Specifications.
(ii(
R8R)R7R6tpitmaxR#tsyststderrtwrite(R,R-ts_ctoffsetRRta_bR%R&R'toffxtoffy((s*/usr/share/inkscape/extensions/triangle.pytdraw_tri_from_3_sidesIst
Grid_PolarcBseZd�Zd�ZRS(cCsVtjj|�|jjddddddddd	d
d�|jjddddddd
dd	d
d�|jjddddddddd	d
d�|jjdddddddddd
d�|jjdddddddddd
d�|jjdddddddddd
d�|jjddddddd dd!d
d�dS("Ns--s_atactiontstorettypetfloattdestR,tdefaultgY@thelps
Side Length as--s_bR-s
Side Length bs--s_cR?s
Side Length cs--a_ata_agN@sAngle as--a_bRAg>@sAngle bs--a_cR.g�V@sAngle cs--modetstringtmodet3_sides(RtEffectt__init__tOptionParsert
add_option(tself((s*/usr/share/inkscape/extensions/triangle.pyRR[s:c
CsK|j}tt|j�|j�}|jt|jj�d�|j_|jt|jj�d�|j_|jt|jj	�d�|j_	|jd�}|jj
dkr�|jj}|jj}|jj	}t||||||�nS|jj
dkr`|jj}|jj}|jjt
d}t|||�}t||||||�n�|jj
dkr�|jj}|jj}|jjt
d}|t
dkr�||kr�||t|�kr�t}	nt}	|t|�|}
|
dkr.|
d	kr.t|
�}t
||}t}ntjjd
�t}|r�|t
kr�|t
kr�t|||�}t||||||�n|rG|t
ks�|t
ks�|	rGt
|}t
||}t|||�}t||||||�qGnH|jj
dkr�|jj}|jjt
d}|jjt
d}t
||}|t|�t|�}|t|�t|�}t||||||�n�|jj
dkrG|jj	}|jjt
d}|jjt
d}t
||}|t|�t|�}|t|�t|�}t||||||�ndS(
Ntpxt2pxRPts_ab_a_ci�ts_ab_a_ag@ii����s'Error:Invalid Triangle Specifications.
ts_a_a_abts_c_a_ab(t
current_layerRtlisttview_centertunittouuRtoptionsR,R-R?RORDR.R:R0RMR1tTruetFalsetasinR<R=R>RA(
RUttriR@tstroke_widthR,R-R?R.RMt	ambiguoustsin_a_bRAterror((s*/usr/share/inkscape/extensions/triangle.pyteffectzsn	%%%2		%
(t__name__t
__module__RRRi(((s*/usr/share/inkscape/extensions/triangle.pyREZs	t__main__(t__doc__RR
R<tsimpletransformRtmathR#R)R0R6R7R8RDRQRERjtetaffect(((s*/usr/share/inkscape/extensions/triangle.pyt<module>!s
	
						k