kaxe 1.6.0.dev0__tar.gz → 1.6.1.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {kaxe-1.6.0.dev0/src/kaxe.egg-info → kaxe-1.6.1.dev0}/PKG-INFO +1 -1
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/pyproject.toml +1 -1
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d2/inequality.py +37 -56
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0/src/kaxe.egg-info}/PKG-INFO +1 -1
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/LICENSE +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/MANIFEST.in +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/README.md +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/setup.cfg +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/__init__.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/_require_3d.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/chart/__init__.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/chart/bar.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/chart/box.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/chart/pie.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/chart/qqplot.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/__init__.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/axis.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/bounds.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/color.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/d3/backend.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/d3/camera.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/d3/helper.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/d3/hud.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/d3/objects/__init__.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/d3/objects/color.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/d3/objects/line.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/d3/objects/point.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/d3/objects/pointer.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/d3/objects/triangle.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/d3/openglrender.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/d3/translator.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/draw.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/fileloader.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/helper.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/ipython_display.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/legend.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/line.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/marker.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/profiler.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/progress.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/round.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/shapes.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/styles.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/svg.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/svg_pdf.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/symbol.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/text.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/core/window.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/data/__init__.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/data/excel.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/__init__.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/_lazy.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d2/__init__.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d2/arrow.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d2/bubble.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d2/contour.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d2/equation.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d2/fill.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d2/function.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d2/map.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d2/parameter.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d2/pillar.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d2/point.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d3/__init__.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d3/base.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d3/function.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d3/mesh.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d3/point.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/d3/potato.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/function.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/legend.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/mapdata.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/point.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/objects/text.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/__init__.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/_lazy.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/box.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/constants.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/d3/__init__.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/d3/axes.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/d3/geometry.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/d3/plot3d.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/d3/variants.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/double.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/empty.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/grid.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/log.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/polar.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/standard.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/themes.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/zoom.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/plot/zoom_connector.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/project/__init__.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/project/codec.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/project/context.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/project/document.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/project/registry.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/project/sample.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/project/sampled_curve.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/project/serializers.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/project/window.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/__init__.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/__init__.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.bright-oblique.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.bright-roman.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.bright-semibold.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.bright-semiboldoblique.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.classical-serif-italic.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.concrete-bold.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.concrete-bolditalic.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.concrete-italic.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.concrete-roman.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-bold.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-boldoblique.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-demi-condensed-demicondensed.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-medium.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.sans-serif-oblique.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.serif-bold.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.serif-bolditalic.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.serif-extra-boldslanted.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.serif-extra-romanslanted.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.serif-italic.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.serif-roman.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.serif-upright-italic-uprightitalic.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-bold.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-bolditalic.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-italic.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-light.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-lightoblique.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-regular.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-variable-width-italic.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.typewriter-text-variable-width-medium.ttf +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/readme.txt +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/logo-small.png +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/symbolcross.png +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/symboldonut.png +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/symbollollipop.png +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/symboltriangle.png +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe.egg-info/SOURCES.txt +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe.egg-info/dependency_links.txt +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe.egg-info/requires.txt +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe.egg-info/top_level.txt +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/tests/test.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/tests/test2.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/tests/test3.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/tests/test_4.py +0 -0
- {kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/tests/test_5.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kaxe
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.1.dev0
|
|
4
4
|
Summary: A small graphing tool for functions, points, equations and more
|
|
5
5
|
Author-email: Valter Yde Daugberg <valteryde@hotmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/valteryde/kaxe
|
|
@@ -47,44 +47,14 @@ def _eval_diff(parent, left, right, px, py):
|
|
|
47
47
|
return None
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
def
|
|
51
|
-
|
|
52
|
-
dy = y2 - y1
|
|
53
|
-
if dx == 0 and dy == 0:
|
|
54
|
-
dpx = px - x1
|
|
55
|
-
dpy = py - y1
|
|
56
|
-
return dpx * dpx + dpy * dpy
|
|
57
|
-
t = max(0.0, min(1.0, ((px - x1) * dx + (py - y1) * dy) / (dx * dx + dy * dy)))
|
|
58
|
-
cx = x1 + t * dx
|
|
59
|
-
cy = y1 + t * dy
|
|
60
|
-
dpx = px - cx
|
|
61
|
-
dpy = py - cy
|
|
62
|
-
return dpx * dpx + dpy * dpy
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
def _min_distance_sq_to_segments(px, py, segments):
|
|
66
|
-
if not segments:
|
|
67
|
-
return float('inf')
|
|
68
|
-
return min(
|
|
69
|
-
_point_segment_distance_sq(px, py, x1, y1, x2, y2)
|
|
70
|
-
for x1, y1, x2, y2 in segments
|
|
71
|
-
)
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
def _boundary_segments(boundary, parent):
|
|
75
|
-
segments = []
|
|
50
|
+
def _boundary_band_points(boundary, parent):
|
|
51
|
+
points = []
|
|
76
52
|
for polyline in trace_contour_polylines(boundary.dotsPosAbstract, parent):
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
decimated = _decimate_polyline(polyline, min_step=12)
|
|
80
|
-
for i in range(len(decimated) - 1):
|
|
81
|
-
x1, y1 = decimated[i]
|
|
82
|
-
x2, y2 = decimated[i + 1]
|
|
83
|
-
segments.append((x1, y1, x2, y2))
|
|
84
|
-
return segments
|
|
53
|
+
points.extend(_decimate_polyline(polyline, min_step=8))
|
|
54
|
+
return points
|
|
85
55
|
|
|
86
56
|
|
|
87
|
-
def _decimate_polyline(polyline, min_step=
|
|
57
|
+
def _decimate_polyline(polyline, min_step=8):
|
|
88
58
|
if len(polyline) < 2:
|
|
89
59
|
return polyline
|
|
90
60
|
result = [polyline[0]]
|
|
@@ -101,18 +71,27 @@ def _decimate_polyline(polyline, min_step=12):
|
|
|
101
71
|
return result
|
|
102
72
|
|
|
103
73
|
|
|
104
|
-
def _build_band_cells(
|
|
74
|
+
def _build_band_cells(points, band, x0, y0, x1, y1):
|
|
105
75
|
cell = max(1, int(band / 2))
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
rows = int((y1 - y0) / cell) + 1
|
|
76
|
+
reach = band + cell * 0.7071067811865476
|
|
77
|
+
reach_sq = reach * reach
|
|
109
78
|
near = set()
|
|
110
|
-
|
|
111
|
-
|
|
79
|
+
|
|
80
|
+
for px, py in points:
|
|
81
|
+
ci0 = int((px - reach - x0) // cell)
|
|
82
|
+
ci1 = int((px + reach - x0) // cell)
|
|
83
|
+
ri0 = int((py - reach - y0) // cell)
|
|
84
|
+
ri1 = int((py + reach - y0) // cell)
|
|
85
|
+
|
|
86
|
+
for ci in range(ci0, ci1 + 1):
|
|
112
87
|
cx = x0 + ci * cell + cell * 0.5
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
88
|
+
for ri in range(ri0, ri1 + 1):
|
|
89
|
+
cy = y0 + ri * cell + cell * 0.5
|
|
90
|
+
dx = cx - px
|
|
91
|
+
dy = cy - py
|
|
92
|
+
if dx * dx + dy * dy <= reach_sq:
|
|
93
|
+
near.add((ci, ri))
|
|
94
|
+
|
|
116
95
|
return cell, near, x0, y0
|
|
117
96
|
|
|
118
97
|
|
|
@@ -212,14 +191,13 @@ class Inequality:
|
|
|
212
191
|
sample_step = 2
|
|
213
192
|
eps = 1e-9
|
|
214
193
|
|
|
215
|
-
boundary_segments = None
|
|
216
194
|
band_cells = None
|
|
217
195
|
if self.hatch_band is not None:
|
|
218
|
-
|
|
219
|
-
if not
|
|
196
|
+
boundary_points = _boundary_band_points(self.boundary, parent)
|
|
197
|
+
if not boundary_points:
|
|
220
198
|
return
|
|
221
199
|
band_cells = _build_band_cells(
|
|
222
|
-
|
|
200
|
+
boundary_points, self.hatch_band, x0, y0, x1, y1
|
|
223
201
|
)
|
|
224
202
|
|
|
225
203
|
scale = getattr(parent, 'getVisualScale', lambda: 1.0)()
|
|
@@ -271,6 +249,11 @@ class Inequality:
|
|
|
271
249
|
last_point = None
|
|
272
250
|
continue
|
|
273
251
|
|
|
252
|
+
in_band = True
|
|
253
|
+
if band_cells is not None:
|
|
254
|
+
cell, near, origin_x, origin_y = band_cells
|
|
255
|
+
in_band = _point_in_band_cells(px, py, cell, near, origin_x, origin_y)
|
|
256
|
+
|
|
274
257
|
diff = _eval_diff(parent, self.left, self.right, px, py)
|
|
275
258
|
if diff is None:
|
|
276
259
|
if segment_start is not None and last_point is not None:
|
|
@@ -287,14 +270,12 @@ class Inequality:
|
|
|
287
270
|
forbidden = self._is_forbidden(diff)
|
|
288
271
|
|
|
289
272
|
if forbidden:
|
|
290
|
-
if
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
last_point = None
|
|
297
|
-
continue
|
|
273
|
+
if not in_band:
|
|
274
|
+
if segment_start is not None and last_point is not None:
|
|
275
|
+
self.__add_hatch_segment__(segment_start, last_point, hatch_width)
|
|
276
|
+
segment_start = None
|
|
277
|
+
last_point = None
|
|
278
|
+
continue
|
|
298
279
|
point = (px, py)
|
|
299
280
|
if segment_start is None:
|
|
300
281
|
segment_start = point
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kaxe
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.1.dev0
|
|
4
4
|
Summary: A small graphing tool for functions, points, equations and more
|
|
5
5
|
Author-email: Valter Yde Daugberg <valteryde@hotmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/valteryde/kaxe
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.bright-oblique.ttf
RENAMED
|
File without changes
|
{kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.bright-roman.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.concrete-bold.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.concrete-roman.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.serif-bold.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.serif-italic.ttf
RENAMED
|
File without changes
|
{kaxe-1.6.0.dev0 → kaxe-1.6.1.dev0}/src/kaxe/resources/computer-modern-family/cmu.serif-roman.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|