| Server IP : 93.86.61.54 / Your IP : 216.73.216.60 Web Server : Apache/2.4.62 (Ubuntu) System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64 User : www-data ( 33) PHP Version : 8.4.22 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/inkscape/extensions/inkex/__pycache__/ |
Upload File : |
o
0�aI� � @ s d Z ddlZddlZddlmZmZmZmZmZm Z m
Z
ddlmZm
Z
mZ ddlmZmZ ddlmZmZmZmZmZmZmZmZmZmZ ddlmZ ed d
d�Zedd
d�ZdZ e�!d�Z"dd� Z#G dd� de$�Z%G dd
� d
�Z&G dd� de&�Z'G dd
� d
e&�Z(G dd� de(�Z)G dd� de'�Z*G dd� de(�Z+G dd� de'�Z,G d d!� d!e(�Z-G d"d#� d#e'�Z.G d$d%� d%e(�Z/G d&d'� d'e'�Z0G d(d)� d)e(�Z1G d*d+� d+e'�Z2G d,d-� d-e(�Z3G d.d/� d/e'�Z4G d0d1� d1e(�Z5G d2d3� d3e'�Z6G d4d5� d5e(�Z7G d6d7� d7e'�Z8G d8d9� d9e(�Z9G d:d;� d;e'�Z:G d<d=� d=e(�Z;G d>d?� d?e'�Z<i d@e+�dAe)�dBe1�dCe/�dDe;�dEe3�dFe5�dGe-�dHe7�dIe9�dJe,�dKe*�dLe2�dMe0�dNe<�dOe4�dPe6�e.e8e:dQ��e&_=G dRdS� dSe>�Z?G dTdU� dUe>�Z@dVdW� ZAdXdY� ZBdZd[� ZCd\d]� ZDd^d_� ZEdS )`z<
functions for digesting paths into a simple list structure
� N)�atan2�cos�pi�sin�sqrt�acos�tan� )� Transform�BoundingBox�Vector2d)�
classproperty�strargs)
�overload�Any�Type�Dict�Optional�Union�Tuple�List�Iterator� Generator)�TypeVar�Pathlike�PathCommand)�bound�AbsolutePathlike�AbsolutePathCommand)�Path�CubicSuperPath�Line�line�Move�move� ZoneClose� zoneClose�Horz�horz�Vert�vert�Curve�curve�Smooth�smooth� Quadratic� quadratic�TepidQuadratic�tepidQuadratic�Arc�arc�InvalidPathz2([MLHVCSQTAZmlhvcsqtaz])([^MLHVCSQTAZmlhvcsqtaz]*)c C s | d uS �N� )�objr7 r7 �-/usr/share/inkscape/extensions/inkex/paths.py�<lambda>7 s r: c @ s e Zd ZdZdS )r5 z(Raised when given an invalid path stringN)�__name__�
__module__�__qualname__�__doc__r7 r7 r7 r9 r5 : s r5 c @ s� e Zd ZdZdZedd� �Zedd� �Zedd� �Ze dd � �Z
e d
d� �Zdd
� Zdd� Z
dd� ZdZi Zedd� �Ze dd� �Zdd� Zedd� �Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Ze� fd%d&�Ze� fd'd(�Zd)d*� Zd+S ),r z)
Base class of all path commands
���c C s | j S r6 )r; ��clsr7 r7 r9 r: G s zPathCommand.<lambda>c C s
| j d S �Nr )�namer@ r7 r7 r9 r: J s
c C s | S r6 r7 ��selfr7 r7 r9 �next_commandN � zPathCommand.next_commandc C � t �r6 ��NotImplementedErrorrD r7 r7 r9 �is_relativeR rG zPathCommand.is_relativec C rH r6 rI rD r7 r7 r9 �is_absoluteV rG zPathCommand.is_absolutec C rH )zFReturn absolute counterpart for absolute commands or copy for relativerI �rE �prevr7 r7 r9 �to_relativeZ rG zPathCommand.to_relativec C rH )zFReturn relative counterpart for relative commands or copy for absoluterI rM r7 r7 r9 �to_absolute^ rG zPathCommand.to_absolutec C �
| � |�S )z(Return an absolute non-shorthand command)rP �rE rN �prev_controlr7 r7 r9 �to_non_shorthandb �
zPathCommand.to_non_shorthandz{:.6g}c C s
t j| S )z+Returns class for given path command letter)r �_letter_to_class)�letterr7 r7 r9 �letter_to_classn rU zPathCommand.letter_to_classc C � t � �)z1Returns path command arguments as tuple of floatsrI rD r7 r7 r9 �argss s zPathCommand.argsc C rH )z+Returns list of path command control pointsrI �rE �firstrN � prev_prevr7 r7 r9 �control_pointsx s zPathCommand.control_pointsc C s |� | jg| j �S r6 )�join�number_template�nargs)rA �sepr7 r7 r9 �_argt} � zPathCommand._argtc C s d� | j| �d�j | j� ��� S )Nz{} {}� )�formatrW rc rZ �striprD r7 r7 r9 �__str__� s zPathCommand.__str__c C s"