rational-linkages 2.2.1__cp310-cp310-win_amd64.whl → 2.2.3__cp310-cp310-win_amd64.whl

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.
@@ -709,65 +709,68 @@ else:
709
709
  CustomGLViewWidget = None
710
710
 
711
711
 
712
- class FramePlotHelper:
713
- def __init__(self,
714
- transform: TransfMatrix = TransfMatrix(),
715
- width: float = 2.,
716
- length: float = 1.,
717
- antialias: bool = True):
718
- """
719
- Create a coordinate frame using three GLLinePlotItems.
712
+ if gl is not None:
713
+ class FramePlotHelper:
714
+ def __init__(self,
715
+ transform: TransfMatrix = TransfMatrix(),
716
+ width: float = 2.,
717
+ length: float = 1.,
718
+ antialias: bool = True):
719
+ """
720
+ Create a coordinate frame using three GLLinePlotItems.
720
721
 
721
- :param TransfMatrix transform: The initial transformation matrix.
722
- :param float width: The width of the lines.
723
- :param float length: The length of the axes.
724
- :param bool antialias: Whether to use antialiasing
725
- """
726
- # Create GLLinePlotItems for the three axes.
727
- # The initial positions are placeholders; they will be set properly in setData().
728
- self.x_axis = gl.GLLinePlotItem(pos=np.zeros((2, 3)),
729
- color=(1, 0, 0, 0.5),
730
- glOptions='translucent',
731
- width=width,
732
- antialias=antialias)
733
- self.y_axis = gl.GLLinePlotItem(pos=np.zeros((2, 3)),
734
- color=(0, 1, 0, 0.5),
735
- glOptions='translucent',
736
- width=width,
737
- antialias=antialias)
738
- self.z_axis = gl.GLLinePlotItem(pos=np.zeros((2, 3)),
739
- color=(0, 0, 1, 0.5),
740
- glOptions='translucent',
741
- width=width,
742
- antialias=antialias)
743
-
744
- # Set the initial transformation
745
- self.tr = transform
746
- self.length = length
747
- self.setData(transform)
748
-
749
- def setData(self, transform: TransfMatrix):
750
- """
751
- Update the coordinate frame using a new 4x4 transformation matrix.
722
+ :param TransfMatrix transform: The initial transformation matrix.
723
+ :param float width: The width of the lines.
724
+ :param float length: The length of the axes.
725
+ :param bool antialias: Whether to use antialiasing
726
+ """
727
+ # Create GLLinePlotItems for the three axes.
728
+ # The initial positions are placeholders; they will be set properly in setData().
729
+ self.x_axis = gl.GLLinePlotItem(pos=np.zeros((2, 3)),
730
+ color=(1, 0, 0, 0.5),
731
+ glOptions='translucent',
732
+ width=width,
733
+ antialias=antialias)
734
+ self.y_axis = gl.GLLinePlotItem(pos=np.zeros((2, 3)),
735
+ color=(0, 1, 0, 0.5),
736
+ glOptions='translucent',
737
+ width=width,
738
+ antialias=antialias)
739
+ self.z_axis = gl.GLLinePlotItem(pos=np.zeros((2, 3)),
740
+ color=(0, 0, 1, 0.5),
741
+ glOptions='translucent',
742
+ width=width,
743
+ antialias=antialias)
744
+
745
+ # Set the initial transformation
746
+ self.tr = transform
747
+ self.length = length
748
+ self.setData(transform)
749
+
750
+ def setData(self, transform: TransfMatrix):
751
+ """
752
+ Update the coordinate frame using a new 4x4 transformation matrix.
752
753
 
753
- :param TransfMatrix transform: The new transformation matrix.
754
- """
755
- self.tr = transform
754
+ :param TransfMatrix transform: The new transformation matrix.
755
+ """
756
+ self.tr = transform
756
757
 
757
- # Update the positions for each axis.
758
- self.x_axis.setData(pos=np.array([transform.t, transform.t + self.length * transform.n]))
759
- self.y_axis.setData(pos=np.array([transform.t, transform.t + self.length * transform.o]))
760
- self.z_axis.setData(pos=np.array([transform.t, transform.t + self.length * transform.a]))
758
+ # Update the positions for each axis.
759
+ self.x_axis.setData(pos=np.array([transform.t, transform.t + self.length * transform.n]))
760
+ self.y_axis.setData(pos=np.array([transform.t, transform.t + self.length * transform.o]))
761
+ self.z_axis.setData(pos=np.array([transform.t, transform.t + self.length * transform.a]))
761
762
 
762
- def addToView(self, view: gl.GLViewWidget):
763
- """
764
- Add all three axes to a GLViewWidget.
763
+ def addToView(self, view: gl.GLViewWidget):
764
+ """
765
+ Add all three axes to a GLViewWidget.
765
766
 
766
- :param gl.GLViewWidget view: The view to add the axes to.
767
- """
768
- view.addItem(self.x_axis)
769
- view.addItem(self.y_axis)
770
- view.addItem(self.z_axis)
767
+ :param gl.GLViewWidget view: The view to add the axes to.
768
+ """
769
+ view.addItem(self.x_axis)
770
+ view.addItem(self.y_axis)
771
+ view.addItem(self.z_axis)
772
+ else:
773
+ FramePlotHelper = None
771
774
 
772
775
  if QtWidgets is not None:
773
776
  class InteractivePlotterWidget(QtWidgets.QWidget):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rational-linkages
3
- Version: 2.2.1
3
+ Version: 2.2.3
4
4
  Summary: Rational Linkages
5
5
  Author-email: Daniel Huczala <daniel.huczala@uibk.ac.at>
6
6
  License-Expression: GPL-3.0-or-later
@@ -19,7 +19,6 @@ Requires-Dist: sympy>=1.10.0
19
19
  Requires-Dist: PyQt6>=6.2.0
20
20
  Requires-Dist: pyqtgraph>=0.12.4
21
21
  Requires-Dist: PyOpenGL>=3.0.0
22
- Requires-Dist: matplotlib>=3.9.0; platform_system == "Linux"
23
22
  Requires-Dist: matplotlib>=3.9.0; platform_system == "Windows" and platform_machine == "ARM64"
24
23
  Provides-Extra: opt
25
24
  Requires-Dist: ipython>=8.0.0; extra == "opt"
@@ -15,7 +15,7 @@ rational_linkages/NormalizedLine.py,sha256=J41UnSQg6jS23uW_oKYzse_MLRqEMgC-RQ0jN
15
15
  rational_linkages/NormalizedPlane.py,sha256=KlsV2Bems4onD_TTDj9SaPa57hVjZHiTt4tqZ5jpRZw,6032
16
16
  rational_linkages/Plotter.py,sha256=g-DI3kKh6-Y1Q5uvGde-exDeFkifia7MIQDVK3FQsvo,4456
17
17
  rational_linkages/PlotterMatplotlib.py,sha256=H53nc147fgw8iTP2xeiphIaHdW9URTTX7zyAucsHHhw,37734
18
- rational_linkages/PlotterPyqtgraph.py,sha256=kxUljawjLjhsyLM0uHFDs4uoHBAZsdd5brBJHp4hzy4,54270
18
+ rational_linkages/PlotterPyqtgraph.py,sha256=LAK6rVWeKKvygd1Syb_tbBd6_Dwwr9eO42AXQK1LldI,54533
19
19
  rational_linkages/PointHomogeneous.py,sha256=PFOUriVm-kRvV2PzlyyZcrw2wlCK3uGDB3ZEgfXP5v4,13784
20
20
  rational_linkages/Quaternion.py,sha256=RDRRczv10hLehnsJepwYXXBQeum9-tfstJATdsDCssE,5285
21
21
  rational_linkages/RationalBezier.py,sha256=sPoWuVcjm_EiaRDMHPEUaeFO8MMWZUSSq4MSUrznPrs,15243
@@ -28,13 +28,13 @@ rational_linkages/TransfMatrix.py,sha256=UuPw5z6wBgqxYwNczxgYJfvjyYl_rxk5Bhax-pR
28
28
  rational_linkages/__init__.py,sha256=j51yV2-UG2vDFIUmV0sg0TDb5RmbhJ6LBaalrZspisQ,1050
29
29
  rational_linkages/models.py,sha256=aMdyKBeLDi3XtXebW84K1w8VL8g3eqlMXVCG6OJqrb4,7246
30
30
  rational_linkages/utils.py,sha256=yWALKgkgTcYobZVCWuyAspe0DFdmagBTVyH16rdxqmk,5246
31
- rational_linkages/utils_rust.cp310-win_amd64.pyd,sha256=ElO4Q0We8CmdirhFBwEQytQCe3nXtWsrAy9GMHu4rLI,244736
31
+ rational_linkages/utils_rust.cp310-win_amd64.pyd,sha256=oXcK6aQISZ_pZ9umZe6JEoxMmyKwnIULcAnT5_GFOgo,244736
32
32
  rational_linkages/utils_rust.pyi,sha256=iTaedylbvDNplOzrd1RZ0PPJzCvh20w52ewbLiuAgnU,140
33
33
  rational_linkages/data/bennett_ark24.pkl,sha256=Eh7S5PHOi0ENg8-FS7KjQsc6BBeMXT984Yz5VKiqwNM,39216
34
34
  rational_linkages/data/collisions_free_6r.pkl,sha256=XZFvnt8jEUfDY3JacLlS1kE-EQvtgmb7Un07DovmUmg,73101
35
35
  rational_linkages/data/plane_fold_6r.pkl,sha256=lbrnqFksdJ6QW4LJqyVv-ujjhP25kkUWdGY7bjR6Hbo,48752
36
- rational_linkages-2.2.1.dist-info/licenses/LICENSE,sha256=SrpxAZ1vJi81S4VF9EBjgxz9qrVj9acCyQPSAk3JgOo,35784
37
- rational_linkages-2.2.1.dist-info/METADATA,sha256=2TOyFg2zemq9T7L5SDIwivQlxNX5pJnR9kK4N444gmY,9904
38
- rational_linkages-2.2.1.dist-info/WHEEL,sha256=KUuBC6lxAbHCKilKua8R9W_TM71_-9Sg5uEP3uDWcoU,101
39
- rational_linkages-2.2.1.dist-info/top_level.txt,sha256=IxRIuCa6RJFZKK15jamktxgS0abg1PV2WqXo1Z-MalI,18
40
- rational_linkages-2.2.1.dist-info/RECORD,,
36
+ rational_linkages-2.2.3.dist-info/licenses/LICENSE,sha256=SrpxAZ1vJi81S4VF9EBjgxz9qrVj9acCyQPSAk3JgOo,35784
37
+ rational_linkages-2.2.3.dist-info/METADATA,sha256=H4lt7oruxa1j44lFrsjcmMWlJw_GV1hM7GRwR7i6sXA,9842
38
+ rational_linkages-2.2.3.dist-info/WHEEL,sha256=KUuBC6lxAbHCKilKua8R9W_TM71_-9Sg5uEP3uDWcoU,101
39
+ rational_linkages-2.2.3.dist-info/top_level.txt,sha256=IxRIuCa6RJFZKK15jamktxgS0abg1PV2WqXo1Z-MalI,18
40
+ rational_linkages-2.2.3.dist-info/RECORD,,