engeom 0.2.3__cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 0.2.4__cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.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,5 +1,5 @@
1
- engeom-0.2.3.dist-info/METADATA,sha256=iGZ__VhZChSD4XCI0Wz0nfHMgMdD2GJEcaFqx6f1Jpo,339
2
- engeom-0.2.3.dist-info/WHEEL,sha256=enHAT78HPHhu3XKDSOZi_EBRo8KIHOWyiLnoj9YUFq8,129
1
+ engeom-0.2.4.dist-info/METADATA,sha256=ihtRy0gEfQ1gc10xbpncuk_Uc_-ocxIR2HyZEejVXto,339
2
+ engeom-0.2.4.dist-info/WHEEL,sha256=enHAT78HPHhu3XKDSOZi_EBRo8KIHOWyiLnoj9YUFq8,129
3
3
  engeom/geom2/__init__.py,sha256=mRu8Zh6DE-EQyhxScoxszPqDjGVzGWVJEQO6RIAtS4A,174
4
4
  engeom/align/__init__.py,sha256=SEeMqeqLKqJC73Mg8GwPwd9NwWnl-dcCqJ4rPdh8yyc,196
5
5
  engeom/engeom.pyi,sha256=gZZGESiXpLyARdKpYz7TAM0VUqWQ3hZQeTmksJTYWFw,242
@@ -10,9 +10,9 @@ engeom/matplotlib.py,sha256=A0gdQshzE3G7joNHna4viYnioQtA8LVXfSuZ_X6AHeo,9001
10
10
  engeom/metrology.pyi,sha256=P_2pkoLUAOB0-RKppj0FN01XGY0jx1lGw9H1eKXrW8s,1144
11
11
  engeom/metrology/__init__.py,sha256=cpsB0-hJGitzW79Coxwf7r_mpNaeI6yG3myDEVdBJgk,186
12
12
  engeom/geom3/__init__.py,sha256=DG5jt2xgS9WRNb58ZkkrcKQQO6bIG-irg-uV_BkHEj4,174
13
- engeom/geom3.pyi,sha256=hIIwBa-n08CaEcPR-dB_RhksPoR74HJrV4jT9CNiqhs,33556
14
- engeom/pyvista.py,sha256=lqqFxsl_YVXEh0_szuH-y9HWkqMXpuVxFrWJyn8mxKY,5382
13
+ engeom/geom3.pyi,sha256=UUUg3OHobF_MfSDJZXD0PEZGSak2XQpiGAkne3lY7fI,34163
14
+ engeom/pyvista.py,sha256=WVjaMG1hhd6hkknfxgkgCH8rZRXaM2AweG39T0UQkGc,6044
15
15
  engeom/airfoil/__init__.py,sha256=G6m7JEvHVk3sM2JooJPOg8JNA3VuEp0EIqczSEbC_PY,180
16
16
  engeom/airfoil.pyi,sha256=0TVpXkolFUXbBqJp93FenA_XqvU7FD1DnbncAF0ubow,14654
17
- engeom/engeom.abi3.so,sha256=HHiuab5B6LeLtV02iwwoyhIEe_Y_Mro19RwMFl3tRF4,3092816
18
- engeom-0.2.3.dist-info/RECORD,,
17
+ engeom/engeom.abi3.so,sha256=cA_OmQSmRnxJl05EXO7149n0N1ldipewSCEoa6wChms,3097736
18
+ engeom-0.2.4.dist-info/RECORD,,
File without changes