engeom 0.2.3__cp38-abi3-macosx_11_0_arm64.whl → 0.2.4__cp38-abi3-macosx_11_0_arm64.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.
engeom/engeom.abi3.so CHANGED
Binary file
engeom/geom3.pyi CHANGED
@@ -638,6 +638,17 @@ class Mesh:
638
638
  :return:
639
639
  """
640
640
 
641
+ def surface_closest_to(self, x: float, y: float, z: float) -> SurfacePoint3:
642
+ """
643
+ Find the closest point on the surface of the mesh to a given point in space, returning the point and normal
644
+ in the form of a `SurfacePoint3` object.
645
+ :param x: the x coordinate of the point to find the closest point to
646
+ :param y: the y coordinate of the point to find the closest point to
647
+ :param z: the z coordinate of the point to find the closest point to
648
+ :return: a `SurfacePoint3` object containing the closest point and normal
649
+ """
650
+ ...
651
+
641
652
 
642
653
  class MeshTriangleFilter:
643
654
  def collect(self) -> List[int]:
engeom/pyvista.py CHANGED
@@ -9,7 +9,7 @@ from typing import List, Any, Dict, Union, Iterable, Tuple
9
9
  import numpy
10
10
  from pyvista import ColorLike
11
11
 
12
- from .geom3 import Mesh, Curve3, Vector3, Point3
12
+ from .geom3 import Mesh, Curve3, Vector3, Point3, Iso3
13
13
  from .metrology import Length3
14
14
  from .matplotlib import LabelPlace
15
15
 
@@ -110,6 +110,18 @@ else:
110
110
  label = pyvista.Label(text=template.format(value=value), position=lines[-1], size=text_size)
111
111
  self.plotter.add_actor(label)
112
112
 
113
+ def coordinate_frame(self, iso: Iso3, size: float = 1.0):
114
+ points = numpy.array([[0, 0, 0], [size, 0, 0], [0, size, 0], [0, 0, size]], dtype=numpy.float64)
115
+ points = iso.transform_points(points)
116
+
117
+ self.plotter.add_lines(points[[0, 1]], color="red", width=5.0)
118
+ self.plotter.add_lines(points[[0, 2]], color="green", width=5.0)
119
+ self.plotter.add_lines(points[[0, 3]], color="blue", width=5.0)
120
+
121
+ def label(self, point: PlotCoords, text: str, **kwargs):
122
+ label = pyvista.Label(text=text, position=_tuplefy(point), **kwargs)
123
+ self.plotter.add_actor(label)
124
+
113
125
  def arrow(self, start: PlotCoords, direction: PlotCoords,
114
126
  tip_length: float = 0.25,
115
127
  tip_radius: float = 0.1,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: engeom
3
- Version: 0.2.3
3
+ Version: 0.2.4
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -1,9 +1,9 @@
1
- engeom-0.2.3.dist-info/METADATA,sha256=iGZ__VhZChSD4XCI0Wz0nfHMgMdD2GJEcaFqx6f1Jpo,339
2
- engeom-0.2.3.dist-info/WHEEL,sha256=nueuVYsuRBtSjfqcjzlZpAANOvhemlVJqHt21fcVDVQ,102
1
+ engeom-0.2.4.dist-info/METADATA,sha256=ihtRy0gEfQ1gc10xbpncuk_Uc_-ocxIR2HyZEejVXto,339
2
+ engeom-0.2.4.dist-info/WHEEL,sha256=nueuVYsuRBtSjfqcjzlZpAANOvhemlVJqHt21fcVDVQ,102
3
3
  engeom/geom2.pyi,sha256=Jh0ES-Gvkl7sFQV7VG6KdwgDbCPhmiETG_YOObYazhU,22741
4
- engeom/geom3.pyi,sha256=hIIwBa-n08CaEcPR-dB_RhksPoR74HJrV4jT9CNiqhs,33556
4
+ engeom/geom3.pyi,sha256=UUUg3OHobF_MfSDJZXD0PEZGSak2XQpiGAkne3lY7fI,34163
5
5
  engeom/geom3/__init__.py,sha256=DG5jt2xgS9WRNb58ZkkrcKQQO6bIG-irg-uV_BkHEj4,174
6
- engeom/pyvista.py,sha256=lqqFxsl_YVXEh0_szuH-y9HWkqMXpuVxFrWJyn8mxKY,5382
6
+ engeom/pyvista.py,sha256=WVjaMG1hhd6hkknfxgkgCH8rZRXaM2AweG39T0UQkGc,6044
7
7
  engeom/geom2/__init__.py,sha256=mRu8Zh6DE-EQyhxScoxszPqDjGVzGWVJEQO6RIAtS4A,174
8
8
  engeom/metrology/__init__.py,sha256=cpsB0-hJGitzW79Coxwf7r_mpNaeI6yG3myDEVdBJgk,186
9
9
  engeom/matplotlib.py,sha256=A0gdQshzE3G7joNHna4viYnioQtA8LVXfSuZ_X6AHeo,9001
@@ -14,5 +14,5 @@ engeom/align/__init__.py,sha256=SEeMqeqLKqJC73Mg8GwPwd9NwWnl-dcCqJ4rPdh8yyc,196
14
14
  engeom/engeom.pyi,sha256=gZZGESiXpLyARdKpYz7TAM0VUqWQ3hZQeTmksJTYWFw,242
15
15
  engeom/metrology.pyi,sha256=P_2pkoLUAOB0-RKppj0FN01XGY0jx1lGw9H1eKXrW8s,1144
16
16
  engeom/align.pyi,sha256=QCSKrTLkCoaIubcrPU9J-wDZe1lRP0GbPgWZmonXjo0,997
17
- engeom/engeom.abi3.so,sha256=yETHF2tu1xjV83vhZbPYjCEjEvd7FCMPO29ykQ0hnI0,2609440
18
- engeom-0.2.3.dist-info/RECORD,,
17
+ engeom/engeom.abi3.so,sha256=oKHg7lHwE_83Rav2hkYCN1zrNxAk9pcj7mGwDpiUqHc,2609792
18
+ engeom-0.2.4.dist-info/RECORD,,
File without changes