engeom 0.2.3__cp38-abi3-win_amd64.whl → 0.2.4__cp38-abi3-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.
engeom/engeom.pyd 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=_g1M2QM3kt1Ssm_sHOg_3TUY7GxNE2Ueyslb9ZDtPwk,94
1
+ engeom-0.2.4.dist-info/METADATA,sha256=ihtRy0gEfQ1gc10xbpncuk_Uc_-ocxIR2HyZEejVXto,339
2
+ engeom-0.2.4.dist-info/WHEEL,sha256=_g1M2QM3kt1Ssm_sHOg_3TUY7GxNE2Ueyslb9ZDtPwk,94
3
3
  engeom/airfoil/__init__.py,sha256=G6m7JEvHVk3sM2JooJPOg8JNA3VuEp0EIqczSEbC_PY,180
4
4
  engeom/airfoil.pyi,sha256=0TVpXkolFUXbBqJp93FenA_XqvU7FD1DnbncAF0ubow,14654
5
5
  engeom/align/__init__.py,sha256=SEeMqeqLKqJC73Mg8GwPwd9NwWnl-dcCqJ4rPdh8yyc,196
@@ -8,11 +8,11 @@ engeom/engeom.pyi,sha256=Jia11rU8ZnMKdlXgfGeBPlSmsYPEfALM-_ufNwR0ibQ,254
8
8
  engeom/geom2/__init__.py,sha256=mRu8Zh6DE-EQyhxScoxszPqDjGVzGWVJEQO6RIAtS4A,174
9
9
  engeom/geom2.pyi,sha256=Jh0ES-Gvkl7sFQV7VG6KdwgDbCPhmiETG_YOObYazhU,22741
10
10
  engeom/geom3/__init__.py,sha256=DG5jt2xgS9WRNb58ZkkrcKQQO6bIG-irg-uV_BkHEj4,174
11
- engeom/geom3.pyi,sha256=hIIwBa-n08CaEcPR-dB_RhksPoR74HJrV4jT9CNiqhs,33556
11
+ engeom/geom3.pyi,sha256=UUUg3OHobF_MfSDJZXD0PEZGSak2XQpiGAkne3lY7fI,34163
12
12
  engeom/matplotlib.py,sha256=A0gdQshzE3G7joNHna4viYnioQtA8LVXfSuZ_X6AHeo,9001
13
13
  engeom/metrology/__init__.py,sha256=cpsB0-hJGitzW79Coxwf7r_mpNaeI6yG3myDEVdBJgk,186
14
14
  engeom/metrology.pyi,sha256=P_2pkoLUAOB0-RKppj0FN01XGY0jx1lGw9H1eKXrW8s,1144
15
- engeom/pyvista.py,sha256=lqqFxsl_YVXEh0_szuH-y9HWkqMXpuVxFrWJyn8mxKY,5382
15
+ engeom/pyvista.py,sha256=WVjaMG1hhd6hkknfxgkgCH8rZRXaM2AweG39T0UQkGc,6044
16
16
  engeom/__init__.py,sha256=kYgFq3jq1quDfV013wEYQMlUBz4QNSpP6u8lFiuTHvc,115
17
- engeom/engeom.pyd,sha256=BfTGfLE8zCZdjb1HavQNjavko9FB5e6BYdknfbDSM70,2315776
18
- engeom-0.2.3.dist-info/RECORD,,
17
+ engeom/engeom.pyd,sha256=7G9m_LBBIJkK7bVNkiV0Z6rQ0VA1R-KuVkZcB_w4rPE,2317312
18
+ engeom-0.2.4.dist-info/RECORD,,
File without changes