/usr/lib/python3/dist-packages/booleanOperations-0.8.0.egg-info/PKG-INFO is in python3-booleanoperations 0.8.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | Metadata-Version: 1.1
Name: booleanOperations
Version: 0.8.0
Summary: Boolean operations on paths.
Home-page: https://github.com/typemytype/booleanOperations
Author: Frederik Berlaen
Author-email: frederik@typemytype.com
License: MIT
Description-Content-Type: UNKNOWN
Description: |Build Status| |PyPI| |Python Versions|
BooleanOperations
=================
Boolean operations on paths based on a super fast `polygon clipper
library by Angus Johnson <http://www.angusj.com/delphi/clipper.php>`__.
You can download the latest version from PyPI:
https://pypi.org/project/booleanOperations.
Install
-------
`Pip <https://pip.pypa.io/en/stable/>`__ is the recommended tool to
install booleanOperations.
To install the latest version:
.. code:: sh
pip install booleanOperations
BooleanOperations depends on the following packages:
- `pyclipper <https://pypi.org/project/pyclipper/>`__: Cython wrapper for
the C++ Clipper library
- `fonttools <github.com/behdad/fonttools>`__
- `ufoLib <https://github.com/unified-font-object/ufoLib>`__
All dependencies are available on PyPI, so they will be resolved
automatically upon installing booleanOperations.
BooleanOperationManager
-----------------------
Containing a ``BooleanOperationManager`` handling all boolean operations
on paths. Paths must be similar to ``defcon``, ``robofab`` contours. A
manager draws the result in a ``pointPen``.
.. code:: py
from booleanOperations import BooleanOperationManager
manager = BooleanOperationManager()
BooleanOperationManager()
~~~~~~~~~~~~~~~~~~~~~~~~~
Create a ``BooleanOperationManager``.
manager.union(contours, pointPen)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Performs a union on all ``contours`` and draw it in the ``pointPen``.
(this is a what a remove overlaps does)
manager.difference(contours, clipContours, pointPen)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Knock out the ``clipContours`` from the ``contours`` and draw it in the
``pointPen``.
manager.intersection(contours, clipContours, pointPen)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Draw only the overlaps from the ``contours`` with the
``clipContours``\ and draw it in the ``pointPen``.
manager.xor(contours, clipContours, pointPen)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Draw only the parts that not overlaps from the ``contours`` with the
``clipContours``\ and draw it in the ``pointPen``.
manager.getIntersections(contours)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Returning all intersection for the given contours
BooleanGlyph
------------
A glyph like object with boolean powers.
.. code:: py
from booleanOperations.booleanGlyph import BooleanGlyph
booleanGlyph = BooleanGlyph(sourceGlyph)
BooleanGlyph(sourceGlyph)
~~~~~~~~~~~~~~~~~~~~~~~~~
Create a ``BooleanGlyph`` object from ``sourceGlyph``. This is a very
shallow glyph object with basic support.
booleanGlyph.union(other)
^^^^^^^^^^^^^^^^^^^^^^^^^
Perform a **union** with the ``other``. Other must be a glyph or
``BooleanGlyph`` object.
.. code:: py
result = BooleanGlyph(glyph).union(BooleanGlyph(glyph2))
result = BooleanGlyph(glyph) | BooleanGlyph(glyph2)
booleanGlyph.difference(other)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Perform a **difference** with the ``other``. Other must be a glyph or
``BooleanGlyph`` object.
.. code:: py
result = BooleanGlyph(glyph).difference(BooleanGlyph(glyph2))
result = BooleanGlyph(glyph) % BooleanGlyph(glyph2)
booleanGlyph.intersection(other)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Perform a **intersection** with the ``other``. Other must be a glyph or
``BooleanGlyph`` object.
.. code:: py
result = BooleanGlyph(glyph).intersection(BooleanGlyph(glyph2))
result = BooleanGlyph(glyph) & BooleanGlyph(glyph2)
booleanGlyph.xor(other)
^^^^^^^^^^^^^^^^^^^^^^^
Perform a **xor** with the ``other``. Other must be a glyph or
``BooleanGlyph`` object.
.. code:: py
result = BooleanGlyph(glyph).xor(BooleanGlyph(glyph2))
result = BooleanGlyph(glyph) ^ BooleanGlyph(glyph2)
booleanGlyph.removeOverlap()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Perform a **union** on it self. This will remove all overlapping
contours and self intersecting contours.
.. code:: py
result = BooleanGlyph(glyph).removeOverlap()
--------------
booleanGlyph.name
^^^^^^^^^^^^^^^^^
The **name** of the ``sourceGlyph``.
booleanGlyph.unicodes
^^^^^^^^^^^^^^^^^^^^^
The **unicodes** of the ``sourceGlyph``.
booleanGlyph.width
^^^^^^^^^^^^^^^^^^
The **width** of the ``sourceGlyph``.
booleanGlyph.lib
^^^^^^^^^^^^^^^^
The **lib** of the ``sourceGlyph``.
booleanGlyph.note
^^^^^^^^^^^^^^^^^
The **note** of the ``sourceGlyph``.
booleanGlyph.contours
^^^^^^^^^^^^^^^^^^^^^
List the **contours** of the glyph.
booleanGlyph.components
^^^^^^^^^^^^^^^^^^^^^^^
List the **components** of the glyph.
booleanGlyph.anchors
^^^^^^^^^^^^^^^^^^^^
List the **anchors** of the glyph.
.. |Build Status| image:: https://api.travis-ci.org/typemytype/booleanOperations.svg
:target: https://travis-ci.org/typemytype/booleanOperations
.. |PyPI| image:: https://img.shields.io/pypi/v/booleanOperations.svg
:target: https://pypi.org/project/booleanOperations/
.. |Python Versions| image:: https://img.shields.io/badge/python-2.7%2C%203.4%2C%203.5%2C%203.6-blue.svg
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Graphics :: Editors :: Vector-Based
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|