engeom 0.2.10__cp38-abi3-win_amd64.whl → 0.2.11__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
@@ -461,6 +461,29 @@ class Iso3:
461
461
  """
462
462
  ...
463
463
 
464
+ @staticmethod
465
+ def from_xyzwpr(x: float, y: float, z: float, w: float, p: float, r: float) -> Iso3:
466
+ """
467
+ Create an isometry from the specified translation and rotation angles in yaw, pitch, and roll format, following
468
+ the convention typically used in robotics. The angles are specified in degrees.
469
+ :param x:
470
+ :param y:
471
+ :param z:
472
+ :param w:
473
+ :param p:
474
+ :param r:
475
+ :return:
476
+ """
477
+ ...
478
+
479
+ def to_xyzwpr(self) -> List[float]:
480
+ """
481
+ Convert the isometry to a list of translation and rotation angles in yaw, pitch, and roll format, following the
482
+ convention typically used in robotics. The angles are returned in degrees.
483
+ :return: a list of 6 floats representing the translation and rotation angles.
484
+ """
485
+ ...
486
+
464
487
  def __matmul__(self, other: Transformable3) -> Transformable3:
465
488
  """
466
489
  Multiply another object by the isometry, transforming it and returning a new object of the same type.
@@ -537,6 +560,14 @@ class Iso3:
537
560
  """
538
561
  ...
539
562
 
563
+ @property
564
+ def origin(self) -> Point3:
565
+ """
566
+ Get the origin of the isometry as a Point3 object.
567
+ :return: a Point3 object representing the origin of the isometry.
568
+ """
569
+ ...
570
+
540
571
  def translation(self) -> Iso3:
541
572
  """
542
573
  Return the translation component of the isometry as a separate isometry.
@@ -1157,14 +1188,14 @@ class Mesh:
1157
1188
  ...
1158
1189
 
1159
1190
  @staticmethod
1160
- def create_box(width: float, height: float, depth: float) -> Mesh:
1191
+ def create_box(length: float, width: float, height: float) -> Mesh:
1161
1192
  """
1162
- Creates a box with the corner at the origin and the specified width, height, and depth all positive.
1193
+ Creates a box with the center at the origin and the specified length, width, and height
1163
1194
 
1164
- :param width:
1165
- :param height:
1166
- :param depth:
1167
- :return:
1195
+ :param length: the size of the box along the X-axis
1196
+ :param width: the size of the box along the Y-axis
1197
+ :param height: the size of the box along the Z-axis
1198
+ :return: a new `Mesh` object representing the box
1168
1199
  """
1169
1200
  ...
1170
1201
 
@@ -1172,14 +1203,91 @@ class Mesh:
1172
1203
  def create_cylinder(radius: float, height: float, steps: int) -> Mesh:
1173
1204
  """
1174
1205
  Creates a cylinder with a radius and height. The cylinder will be centered at the origin and oriented along the
1175
- Z-axis. The bottom of the cylinder will be at Z = 0 and the top will be at Z = height. The cylinder will be
1176
- created with a number of steps around the circumference, which will determine the number of vertices used to
1177
- create the cylinder. The number of steps should be at least 3. The first set of vertices will be at X = radius,
1178
- Y = 0.
1179
- :param radius:
1180
- :param height:
1181
- :param steps:
1182
- :return:
1206
+ Y-axis.
1207
+
1208
+ :param radius: the radius of the cylinder
1209
+ :param height: the size of the cylinder along the Y-axis
1210
+ :param steps: the number of subdivisions to create vertices around the cylinder. The more steps the smoother the
1211
+ cylinder will be.
1212
+ :return: a new `Mesh` object representing the cylinder
1213
+ """
1214
+ ...
1215
+
1216
+ @staticmethod
1217
+ def create_sphere(radius: float, n_theta: int, n_phi: int) -> Mesh:
1218
+ """
1219
+ Creates a sphere with a radius. The sphere will be centered at the origin. The step counts `n_theta` and `n_phi`
1220
+ will determine the smoothness of the sphere in the radial (n_theta) and polar (n_phi) directions. The poles
1221
+ will be located at Y=+radius and Y=-radius, and the equator will lie in the XZ plane.
1222
+
1223
+ :param radius: the radius of the sphere
1224
+ :param n_theta: the number of subdivisions to create vertices around the sphere in the theta direction
1225
+ :param n_phi: the number of subdivisions to create vertices around the sphere in the phi direction
1226
+ :return: a new `Mesh` object representing the sphere
1227
+ """
1228
+ ...
1229
+
1230
+ @staticmethod
1231
+ def create_cone(radius: float, height: float, steps: int) -> Mesh:
1232
+ """
1233
+ Creates a cone with a radius and height. The cone will be centered at the origin and oriented so that the
1234
+ point of the cone is located at Y=height/2 and the base is located at Y=-height/2.
1235
+
1236
+ :param radius: the radius of the base of the cone
1237
+ :param height: the size of the cone along the Y-axis
1238
+ :param steps: the number of subdivisions to create vertices around the cone. The more steps the smoother the
1239
+ cone will be.
1240
+ :return: a new `Mesh` object representing the cone
1241
+ """
1242
+ ...
1243
+
1244
+ @staticmethod
1245
+ def create_capsule(p0: Point3, p1: Point3, radius: float, n_theta: int, n_phi: int) -> Mesh:
1246
+ """
1247
+ Creates a capsule shape between two points with a specified radius. The capsule will be centered between the two
1248
+ points and oriented along the line connecting them. The step counts `n_theta` and `n_phi` will determine the
1249
+ smoothness of the sphere in the radial (n_theta) and polar (n_phi) directions.
1250
+
1251
+ :param p0: the first point of the capsule
1252
+ :param p1: the second point of the capsule
1253
+ :param radius: the radius of the capsule
1254
+ :param n_theta: the number of subdivisions to create vertices around the sphere in the theta direction
1255
+ :param n_phi: the number of subdivisions to create vertices around the sphere in the phi direction
1256
+ :return: a new `Mesh` object representing the capsule
1257
+ """
1258
+ ...
1259
+
1260
+ @staticmethod
1261
+ def create_cylinder_between(p0: Point3, p1: Point3, radius: float, steps: int) -> Mesh:
1262
+ """
1263
+ Creates a cylinder between two points with a specified radius. The cylinder will be centered between the two
1264
+ points and oriented along the line connecting them.
1265
+
1266
+ :param p0: the first point of the cylinder
1267
+ :param p1: the second point of the cylinder
1268
+ :param radius: the radius of the cylinder
1269
+ :param steps: the number of subdivisions to create vertices around the cylinder. The more steps the smoother the
1270
+ cylinder will be.
1271
+ :return: a new `Mesh` object representing the cylinder
1272
+ """
1273
+ ...
1274
+
1275
+ @staticmethod
1276
+ def create_rect_beam_between(p0: Point3, p1: Point3, width: float, height: float, up: Vector3 | None = None) -> Mesh:
1277
+ """
1278
+ Create a rectangular cross-sectioned prism between two points with a specified width and height. The prism will
1279
+ be centered between the two points and oriented along the line connecting them. The up vector's projection onto
1280
+ the line connecting the two end points will determine the direction of the height of the prism. If None, the
1281
+ height will be aligned with the projection of the Z-axis.
1282
+
1283
+ If the up vector is parallel to the line connecting the two points, an error will be thrown.
1284
+
1285
+ :param p0: the first point of the prism
1286
+ :param p1: the second point of the prism
1287
+ :param width: the width of the prism
1288
+ :param height: the height of the prism
1289
+ :param up: the up vector to use for the height direction. If None, the Z-axis will be used
1290
+ :return: a new `Mesh` object representing the prism
1183
1291
  """
1184
1292
  ...
1185
1293
 
@@ -1304,6 +1412,7 @@ class MeshCollisionSet:
1304
1412
  """
1305
1413
  ...
1306
1414
 
1415
+
1307
1416
  class CurveStation3:
1308
1417
  """
1309
1418
  A class representing a station along a curve in 3D space. The station is represented by a point on the curve, a
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: engeom
3
- Version: 0.2.10
3
+ Version: 0.2.11
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.10.dist-info/METADATA,sha256=zWWQuZHUR5qdy8rlpErS2jgOoXuek9CP3bqN0gRQBLs,498
2
- engeom-0.2.10.dist-info/WHEEL,sha256=hKPP3BCTWtTwj6SFaSI--T5aOGqh_llYfbZ_BsqivwA,94
1
+ engeom-0.2.11.dist-info/METADATA,sha256=0wfaJ6d1GSA-0ki0ISulCq8dfNZViDVrj1_ZMTUV31I,498
2
+ engeom-0.2.11.dist-info/WHEEL,sha256=hKPP3BCTWtTwj6SFaSI--T5aOGqh_llYfbZ_BsqivwA,94
3
3
  engeom/airfoil/__init__.py,sha256=gpS9pVepUu90XJ-ePndNupbUMKI0RGxNXPxD9x0iVHY,274
4
4
  engeom/airfoil.pyi,sha256=VTeJBoS9Iij7p-92R7jCqzPasHmvAUocyzc6BSx7mvM,23557
5
5
  engeom/align/__init__.py,sha256=SEeMqeqLKqJC73Mg8GwPwd9NwWnl-dcCqJ4rPdh8yyc,196
@@ -8,7 +8,7 @@ engeom/engeom.pyi,sha256=J0L_D-Sc2laJHL36nUAvIP3eN9BDryAxd_6aMQarlZc,1561
8
8
  engeom/geom2/__init__.py,sha256=JFpiLyROUh6vyakG-7JDSlCMCn4QB2MQ8bz3uVCaAIk,373
9
9
  engeom/geom2.pyi,sha256=uMi4WD6-DtFx8H-RZsKIi-p1fN4p8SzOfBZmEuvNGDU,44357
10
10
  engeom/geom3/__init__.py,sha256=l8B0iDhJ4YiRbslJLN791XWai2DWrpmZptnzIETMS9g,370
11
- engeom/geom3.pyi,sha256=VYxc9kZQhfHNN13E1DpAzea9z6R6gvpKtxyL8Wm9oWU,69140
11
+ engeom/geom3.pyi,sha256=XQKy3lEDybh-81uN7y6DNncj7w6LpR2haF7YTg8TwXg,74421
12
12
  engeom/metrology/__init__.py,sha256=XvEhG8uDm1olWwZHDDrQv9LFP5zXhbsGx27PqRq8WE0,304
13
13
  engeom/metrology.pyi,sha256=9I5un86VB_2gmQBrVYhX8JzILTUADMLB9Em8ttJxrWg,4044
14
14
  engeom/plot.py,sha256=LTqqO-h1EJL6wanM0hB79s9ohWwaCIijMOHVplY3vmc,1079
@@ -21,5 +21,5 @@ engeom/_plot/matplotlib.py,sha256=rFL1CPNMUqGO-fwD45V3-shektBMeNq5U15Zxp96hYw,14
21
21
  engeom/_plot/pyvista.py,sha256=PylGVOa9RtRIYPyHLy969eyW8yIgAk-URVZT0R7WoQ8,12980
22
22
  engeom/_plot/__init__.py,sha256=F_KviZtxzZGwfEjjn8Ep46N4UVl8VpFJWBzbBUE_J7A,30
23
23
  engeom/__init__.py,sha256=kYgFq3jq1quDfV013wEYQMlUBz4QNSpP6u8lFiuTHvc,115
24
- engeom/engeom.pyd,sha256=rr9E3GHfo4t5EjTOEaB5R5bHUnzFBUJjAm20v3fCMr0,2720768
25
- engeom-0.2.10.dist-info/RECORD,,
24
+ engeom/engeom.pyd,sha256=abHGragpjFER8i_46ihIfX-IFW-c0pWjFMHdoOCmR74,2757632
25
+ engeom-0.2.11.dist-info/RECORD,,