netgen-mesher 6.2.2505.post48.dev0__cp313-cp313-win_amd64.whl → 6.2.2506.post48.dev0__cp313-cp313-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.
Files changed (144) hide show
  1. netgen/__init__.pyi +3 -3
  2. netgen/cmake/NetgenConfig.cmake +9 -8
  3. netgen/config/__init__.pyi +7 -7
  4. netgen/config/config.py +6 -6
  5. netgen/config/config.pyi +7 -7
  6. netgen/include/core/archive.hpp +18 -3
  7. netgen/include/core/array.hpp +20 -4
  8. netgen/include/core/autodiff.hpp +9 -11
  9. netgen/include/core/autodiffdiff.hpp +0 -2
  10. netgen/include/core/bitarray.hpp +1 -1
  11. netgen/include/core/flags.hpp +1 -1
  12. netgen/include/core/hashtable.hpp +1 -1
  13. netgen/include/core/memtracer.hpp +7 -7
  14. netgen/include/core/ngcore.hpp +5 -0
  15. netgen/include/core/ngcore_api.hpp +11 -0
  16. netgen/include/core/register_archive.hpp +8 -0
  17. netgen/include/core/simd_arm64.hpp +100 -5
  18. netgen/include/core/simd_generic.hpp +187 -6
  19. netgen/include/core/simd_math.hpp +3 -2
  20. netgen/include/core/statushandler.hpp +37 -0
  21. netgen/include/core/table.hpp +2 -2
  22. netgen/include/core/taskmanager.hpp +34 -1
  23. netgen/include/include/netgen_version.hpp +3 -3
  24. netgen/include/meshing/basegeom.hpp +1 -4
  25. netgen/include/meshing/global.hpp +0 -17
  26. netgen/include/meshing/hpref_tet.hpp +41 -0
  27. netgen/include/meshing/hprefinement.hpp +2 -0
  28. netgen/include/meshing/meshtype.hpp +1 -0
  29. netgen/include/meshing/msghandler.hpp +9 -6
  30. netgen/include/meshing/topology.hpp +2 -2
  31. netgen/include/nginterface.h +3 -2
  32. netgen/include/occ/occ_utils.hpp +26 -0
  33. netgen/include/occ/occgeom.hpp +8 -0
  34. netgen/include/pybind11/attr.h +40 -8
  35. netgen/include/pybind11/buffer_info.h +14 -14
  36. netgen/include/pybind11/cast.h +553 -29
  37. netgen/include/pybind11/chrono.h +4 -1
  38. netgen/include/pybind11/conduit/README.txt +15 -0
  39. netgen/include/pybind11/conduit/pybind11_conduit_v1.h +116 -0
  40. netgen/include/pybind11/conduit/pybind11_platform_abi_id.h +87 -0
  41. netgen/include/pybind11/conduit/wrap_include_python_h.h +72 -0
  42. netgen/include/pybind11/critical_section.h +56 -0
  43. netgen/include/pybind11/detail/class.h +172 -97
  44. netgen/include/pybind11/detail/common.h +270 -189
  45. netgen/include/pybind11/detail/cpp_conduit.h +75 -0
  46. netgen/include/pybind11/detail/descr.h +55 -0
  47. netgen/include/pybind11/detail/dynamic_raw_ptr_cast_if_possible.h +39 -0
  48. netgen/include/pybind11/detail/exception_translation.h +71 -0
  49. netgen/include/pybind11/detail/function_record_pyobject.h +191 -0
  50. netgen/include/pybind11/detail/init.h +113 -9
  51. netgen/include/pybind11/detail/internals.h +479 -344
  52. netgen/include/pybind11/detail/native_enum_data.h +209 -0
  53. netgen/include/pybind11/detail/pybind11_namespace_macros.h +82 -0
  54. netgen/include/pybind11/detail/struct_smart_holder.h +378 -0
  55. netgen/include/pybind11/detail/type_caster_base.h +506 -133
  56. netgen/include/pybind11/detail/using_smart_holder.h +22 -0
  57. netgen/include/pybind11/detail/value_and_holder.h +90 -0
  58. netgen/include/pybind11/eigen/matrix.h +19 -10
  59. netgen/include/pybind11/eigen/tensor.h +15 -11
  60. netgen/include/pybind11/embed.h +50 -46
  61. netgen/include/pybind11/eval.h +11 -6
  62. netgen/include/pybind11/functional.h +58 -49
  63. netgen/include/pybind11/gil.h +34 -82
  64. netgen/include/pybind11/gil_safe_call_once.h +12 -1
  65. netgen/include/pybind11/gil_simple.h +37 -0
  66. netgen/include/pybind11/native_enum.h +67 -0
  67. netgen/include/pybind11/numpy.h +272 -93
  68. netgen/include/pybind11/pybind11.h +947 -265
  69. netgen/include/pybind11/pytypes.h +127 -21
  70. netgen/include/pybind11/stl/filesystem.h +23 -25
  71. netgen/include/pybind11/stl.h +277 -59
  72. netgen/include/pybind11/stl_bind.h +42 -7
  73. netgen/include/pybind11/subinterpreter.h +299 -0
  74. netgen/include/pybind11/trampoline_self_life_support.h +65 -0
  75. netgen/include/pybind11/typing.h +177 -4
  76. netgen/include/pybind11/warnings.h +75 -0
  77. netgen/lib/libnggui.lib +0 -0
  78. netgen/lib/ngcore.lib +0 -0
  79. netgen/lib/nglib.lib +0 -0
  80. netgen/libnggui.dll +0 -0
  81. netgen/libngguipy.pyd +0 -0
  82. netgen/libngpy/_NgOCC.pyi +220 -141
  83. netgen/libngpy/_csg.pyi +26 -26
  84. netgen/libngpy/_geom2d.pyi +34 -25
  85. netgen/libngpy/_meshing.pyi +262 -111
  86. netgen/libngpy/_stl.pyi +3 -4
  87. netgen/libngpy.pyd +0 -0
  88. netgen/ngcore.dll +0 -0
  89. netgen/nglib.dll +0 -0
  90. netgen/read_gmsh.py +41 -0
  91. netgen/togl.dll +0 -0
  92. netgen/version.py +1 -1
  93. netgen/webgui.py +38 -2
  94. {netgen_mesher-6.2.2505.post48.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/METADATA +2 -1
  95. {netgen_mesher-6.2.2505.post48.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/RECORD +144 -124
  96. pyngcore/pyngcore.cp313-win_amd64.pyd +0 -0
  97. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/boundarycondition.geo +0 -0
  98. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/boxcyl.geo +0 -0
  99. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/circle_on_cube.geo +0 -0
  100. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cone.geo +0 -0
  101. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cube.geo +0 -0
  102. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cubeandring.geo +0 -0
  103. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cubeandspheres.geo +0 -0
  104. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cubemcyl.geo +0 -0
  105. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cubemsphere.geo +0 -0
  106. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cylinder.geo +0 -0
  107. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cylsphere.geo +0 -0
  108. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/doc/ng4.pdf +0 -0
  109. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/ellipsoid.geo +0 -0
  110. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/ellipticcyl.geo +0 -0
  111. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/extrusion.geo +0 -0
  112. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/fichera.geo +0 -0
  113. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/frame.step +0 -0
  114. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/hinge.stl +0 -0
  115. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/lshape3d.geo +0 -0
  116. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/manyholes.geo +0 -0
  117. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/manyholes2.geo +0 -0
  118. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/matrix.geo +0 -0
  119. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/ortho.geo +0 -0
  120. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/part1.stl +0 -0
  121. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/period.geo +0 -0
  122. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/py_tutorials/exportNeutral.py +0 -0
  123. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/py_tutorials/mesh.py +0 -0
  124. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/py_tutorials/shaft.geo +0 -0
  125. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/revolution.geo +0 -0
  126. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/screw.step +0 -0
  127. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/sculpture.geo +0 -0
  128. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/shaft.geo +0 -0
  129. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/shell.geo +0 -0
  130. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/sphere.geo +0 -0
  131. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/sphereincube.geo +0 -0
  132. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/square.in2d +0 -0
  133. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/squarecircle.in2d +0 -0
  134. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/squarehole.in2d +0 -0
  135. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/torus.geo +0 -0
  136. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/trafo.geo +0 -0
  137. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/twobricks.geo +0 -0
  138. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/twocubes.geo +0 -0
  139. {netgen_mesher-6.2.2505.post48.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/twocyl.geo +0 -0
  140. {netgen_mesher-6.2.2505.post48.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/AUTHORS +0 -0
  141. {netgen_mesher-6.2.2505.post48.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/LICENSE +0 -0
  142. {netgen_mesher-6.2.2505.post48.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/WHEEL +0 -0
  143. {netgen_mesher-6.2.2505.post48.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/entry_points.txt +0 -0
  144. {netgen_mesher-6.2.2505.post48.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/top_level.txt +0 -0
netgen/libngpy/_NgOCC.pyi CHANGED
@@ -2,12 +2,13 @@
2
2
  pybind NgOCC module
3
3
  """
4
4
  from __future__ import annotations
5
+ import collections.abc
5
6
  import netgen.libngpy._meshing
6
7
  import numpy
7
- import os
8
+ import numpy.typing
8
9
  import pyngcore.pyngcore
9
10
  import typing
10
- __all__ = ['ApproxParamType', 'ArcOfCircle', 'Axes', 'Axis', 'BSplineCurve', 'BezierCurve', 'BezierSurface', 'Box', 'COMPOUND', 'COMPSOLID', 'Circle', 'Compound', 'Cone', 'ConnectEdgesToWires', 'Cylinder', 'Dir', 'DirectionalInterval', 'EDGE', 'Edge', 'Ellipse', 'Ellipsoid', 'FACE', 'Face', 'From_PyOCC', 'Fuse', 'Geom2d_Curve', 'Geom_Surface', 'Glue', 'HalfSpace', 'ListOfShapes', 'LoadOCCGeometry', 'MakeFillet', 'MakePolygon', 'MakeThickSolid', 'OCCException', 'OCCGeometry', 'Pipe', 'PipeShell', 'Pnt', 'Prism', 'ResetGlobalShapeProperties', 'Revolve', 'SHAPE', 'SHELL', 'SOLID', 'Segment', 'ShapeContinuity', 'Solid', 'Sphere', 'SplineApproximation', 'SplineInterpolation', 'SplineSurfaceApproximation', 'SplineSurfaceInterpolation', 'TestXCAF', 'ThruSections', 'TopAbs_ShapeEnum', 'TopLoc_Location', 'TopoDS_Shape', 'VERTEX', 'Vec', 'Vertex', 'WIRE', 'Wire', 'WorkPlane', 'X', 'Y', 'Z', 'gp_Ax2', 'gp_Ax2d', 'gp_Dir', 'gp_Dir2d', 'gp_GTrsf', 'gp_Mat', 'gp_Pnt', 'gp_Pnt2d', 'gp_Trsf', 'gp_Vec', 'gp_Vec2d', 'occ_version']
11
+ __all__ = ['ApproxParamType', 'ArcOfCircle', 'Axes', 'Axis', 'BSplineCurve', 'BezierCurve', 'BezierSurface', 'Box', 'COMPOUND', 'COMPSOLID', 'Circle', 'Compound', 'Cone', 'ConnectEdgesToWires', 'Cylinder', 'Dir', 'DirectionalInterval', 'EDGE', 'Edge', 'Ellipse', 'Ellipsoid', 'FACE', 'Face', 'From_PyOCC', 'Fuse', 'Geom2d_Curve', 'Geom_Surface', 'Glue', 'HalfSpace', 'ListOfShapes', 'LoadOCCGeometry', 'MakeFillet', 'MakePolygon', 'MakeThickSolid', 'OCCException', 'OCCGeometry', 'Pipe', 'PipeShell', 'Pnt', 'Prism', 'ResetGlobalShapeProperties', 'Revolve', 'SHAPE', 'SHELL', 'SOLID', 'Segment', 'Sew', 'ShapeContinuity', 'Solid', 'Sphere', 'SplineApproximation', 'SplineInterpolation', 'SplineSurfaceApproximation', 'SplineSurfaceInterpolation', 'TestXCAF', 'ThruSections', 'TopAbs_ShapeEnum', 'TopLoc_Location', 'TopoDS_Shape', 'VERTEX', 'Vec', 'Vertex', 'WIRE', 'Wire', 'WorkPlane', 'X', 'Y', 'Z', 'gp_Ax2', 'gp_Ax2d', 'gp_Dir', 'gp_Dir2d', 'gp_GTrsf', 'gp_Mat', 'gp_Pnt', 'gp_Pnt2d', 'gp_Trsf', 'gp_Vec', 'gp_Vec2d', 'occ_version']
11
12
  class ApproxParamType:
12
13
  """
13
14
  Wrapper for Approx_ParametrizationType
@@ -32,7 +33,7 @@ class ApproxParamType:
32
33
  ...
33
34
  def __index__(self) -> int:
34
35
  ...
35
- def __init__(self, value: int) -> None:
36
+ def __init__(self, value: typing.SupportsInt) -> None:
36
37
  ...
37
38
  def __int__(self) -> int:
38
39
  ...
@@ -40,7 +41,7 @@ class ApproxParamType:
40
41
  ...
41
42
  def __repr__(self) -> str:
42
43
  ...
43
- def __setstate__(self, state: int) -> None:
44
+ def __setstate__(self, state: typing.SupportsInt) -> None:
44
45
  ...
45
46
  def __str__(self) -> str:
46
47
  ...
@@ -71,29 +72,29 @@ class Axis:
71
72
  def __init__(self, p: gp_Pnt, d: gp_Dir) -> None:
72
73
  ...
73
74
  class Compound(TopoDS_Shape):
74
- def __init__(self, shapes: list[TopoDS_Shape], separate_layers: bool = False) -> None:
75
+ def __init__(self, shapes: collections.abc.Sequence[TopoDS_Shape], separate_layers: bool = False) -> None:
75
76
  ...
76
77
  class DirectionalInterval:
77
78
  def __and__(self, arg0: DirectionalInterval) -> DirectionalInterval:
78
79
  ...
79
- def __gt__(self, arg0: float) -> DirectionalInterval:
80
+ def __gt__(self, arg0: typing.SupportsFloat) -> DirectionalInterval:
80
81
  ...
81
- def __lt__(self, arg0: float) -> DirectionalInterval:
82
+ def __lt__(self, arg0: typing.SupportsFloat) -> DirectionalInterval:
82
83
  ...
83
84
  def __str__(self) -> str:
84
85
  ...
85
86
  class Edge(TopoDS_Shape):
86
- def Extend(self, point: gp_Pnt, continuity: int = 1, after: bool = True) -> Edge:
87
+ def Extend(self, point: gp_Pnt, continuity: typing.SupportsInt = 1, after: bool = True) -> Edge:
87
88
  ...
88
89
  def Split(self, *args) -> ...:
89
90
  """
90
91
  Splits edge at given parameters. Parameters can either be floating values in (0,1), then edge parametrization is used. Or it can be points, then the projection of these points are used for splitting the edge.
91
92
  """
92
- def Tangent(self, s: float) -> gp_Vec:
93
+ def Tangent(self, s: typing.SupportsFloat) -> gp_Vec:
93
94
  """
94
95
  tangent vector to curve at parameter 's'
95
96
  """
96
- def Value(self, s: float) -> gp_Pnt:
97
+ def Value(self, s: typing.SupportsFloat) -> gp_Pnt:
97
98
  """
98
99
  evaluate curve for parameters 's'
99
100
  """
@@ -125,7 +126,7 @@ class Edge(TopoDS_Shape):
125
126
  def partition(self) -> pyngcore.pyngcore.Array_D_S | None:
126
127
  ...
127
128
  @partition.setter
128
- def partition(self, arg1: numpy.ndarray[numpy.float64]) -> None:
129
+ def partition(self, arg1: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> None:
129
130
  ...
130
131
  @property
131
132
  def start(self) -> gp_Pnt:
@@ -139,7 +140,7 @@ class Edge(TopoDS_Shape):
139
140
  """
140
141
  class Face(TopoDS_Shape):
141
142
  quad_dominated: bool | None
142
- def Extend(self, length: float, continuity: int = 1, u_direction: bool = True, after: bool = True) -> Face:
143
+ def Extend(self, length: typing.SupportsFloat, continuity: typing.SupportsInt = 1, u_direction: bool = True, after: bool = True) -> Face:
143
144
  ...
144
145
  def ProjectWire(self, arg0: Wire) -> TopoDS_Shape:
145
146
  ...
@@ -152,7 +153,7 @@ class Face(TopoDS_Shape):
152
153
  def __init__(self, f: Face, w: Wire) -> None:
153
154
  ...
154
155
  @typing.overload
155
- def __init__(self, f: Face, w: list[Wire]) -> None:
156
+ def __init__(self, f: Face, w: collections.abc.Sequence[Wire]) -> None:
156
157
  ...
157
158
  @typing.overload
158
159
  def __init__(self, arg0: TopoDS_Shape) -> None:
@@ -165,9 +166,9 @@ class Geom2d_Curve:
165
166
  ...
166
167
  def Face(self) -> Face:
167
168
  ...
168
- def Trim(self, arg0: float, arg1: float) -> Geom2d_Curve:
169
+ def Trim(self, arg0: typing.SupportsFloat, arg1: typing.SupportsFloat) -> Geom2d_Curve:
169
170
  ...
170
- def Value(self, arg0: float) -> gp_Pnt2d:
171
+ def Value(self, arg0: typing.SupportsFloat) -> gp_Pnt2d:
171
172
  ...
172
173
  def Wire(self) -> Wire:
173
174
  ...
@@ -178,14 +179,14 @@ class Geom2d_Curve:
178
179
  def start(self) -> gp_Pnt2d:
179
180
  ...
180
181
  class Geom_Surface:
181
- def D1(self, arg0: float, arg1: float) -> tuple[gp_Pnt, gp_Vec, gp_Vec]:
182
+ def D1(self, arg0: typing.SupportsFloat, arg1: typing.SupportsFloat) -> tuple[gp_Pnt, gp_Vec, gp_Vec]:
182
183
  ...
183
- def Normal(self, arg0: float, arg1: float) -> gp_Dir:
184
+ def Normal(self, arg0: typing.SupportsFloat, arg1: typing.SupportsFloat) -> gp_Dir:
184
185
  ...
185
- def Value(self, arg0: float, arg1: float) -> gp_Pnt:
186
+ def Value(self, arg0: typing.SupportsFloat, arg1: typing.SupportsFloat) -> gp_Pnt:
186
187
  ...
187
188
  class ListOfShapes:
188
- def Identify(self, other: ListOfShapes, name: str, type: netgen.libngpy._meshing.IdentificationType = ..., trafo: gp_Trsf | gp_GTrsf) -> None:
189
+ def Identify(self, other: ListOfShapes, name: str, type: netgen.libngpy._meshing.IdentificationType = ..., trafo: netgen.libngpy._NgOCC.gp_Trsf | netgen.libngpy._NgOCC.gp_GTrsf) -> None:
189
190
  """
190
191
  Identify shapes for periodic meshing
191
192
  """
@@ -218,7 +219,7 @@ class ListOfShapes:
218
219
  def __add__(self, arg0: list) -> ListOfShapes:
219
220
  ...
220
221
  @typing.overload
221
- def __getitem__(self, arg0: int) -> typing.Any:
222
+ def __getitem__(self, arg0: typing.SupportsInt) -> typing.Any:
222
223
  ...
223
224
  @typing.overload
224
225
  def __getitem__(self, arg0: slice) -> ListOfShapes:
@@ -231,9 +232,9 @@ class ListOfShapes:
231
232
  @typing.overload
232
233
  def __getitem__(self, arg0: DirectionalInterval) -> ListOfShapes:
233
234
  ...
234
- def __init__(self, arg0: list[TopoDS_Shape]) -> None:
235
+ def __init__(self, arg0: collections.abc.Sequence[TopoDS_Shape]) -> None:
235
236
  ...
236
- def __iter__(self) -> typing.Iterator[typing.Any]:
237
+ def __iter__(self) -> collections.abc.Iterator[typing.Any]:
237
238
  ...
238
239
  def __len__(self) -> int:
239
240
  ...
@@ -245,7 +246,7 @@ class ListOfShapes:
245
246
  set col for all elements of list
246
247
  """
247
248
  @col.setter
248
- def col(self, arg1: list[float]) -> None:
249
+ def col(self, arg1: collections.abc.Sequence[typing.SupportsFloat]) -> None:
249
250
  ...
250
251
  @property
251
252
  def edges(self) -> ListOfShapes:
@@ -259,7 +260,7 @@ class ListOfShapes:
259
260
  set hpref for all elements of list
260
261
  """
261
262
  @hpref.setter
262
- def hpref(self, arg1: float) -> None:
263
+ def hpref(self, arg1: typing.SupportsFloat) -> None:
263
264
  ...
264
265
  @property
265
266
  def maxh(self) -> None:
@@ -267,7 +268,7 @@ class ListOfShapes:
267
268
  set maxh for all elements of list
268
269
  """
269
270
  @maxh.setter
270
- def maxh(self, arg1: float) -> None:
271
+ def maxh(self, arg1: typing.SupportsFloat) -> None:
271
272
  ...
272
273
  @property
273
274
  def name(self) -> None:
@@ -284,6 +285,9 @@ class ListOfShapes:
284
285
  def quad_dominated(self, arg1: bool | None) -> None:
285
286
  ...
286
287
  @property
288
+ def shells(self) -> ListOfShapes:
289
+ ...
290
+ @property
287
291
  def solids(self) -> ListOfShapes:
288
292
  ...
289
293
  @property
@@ -390,28 +394,28 @@ class OCCGeometry(netgen.libngpy._meshing.NetgenGeometry):
390
394
  """
391
395
  def Glue(self) -> None:
392
396
  ...
393
- def Heal(self, tolerance: float = 0.001, fixsmalledges: bool = True, fixspotstripfaces: bool = True, sewfaces: bool = True, makesolids: bool = True, splitpartitions: bool = False) -> None:
397
+ def Heal(self, tolerance: typing.SupportsFloat = 0.001, fixsmalledges: bool = True, fixspotstripfaces: bool = True, sewfaces: bool = True, makesolids: bool = True, splitpartitions: bool = False) -> None:
394
398
  """
395
399
  Heal the OCCGeometry.
396
400
  """
397
- def SetFaceMeshsize(self, arg0: int, arg1: float) -> None:
401
+ def SetFaceMeshsize(self, arg0: typing.SupportsInt, arg1: typing.SupportsFloat) -> None:
398
402
  """
399
403
  Set maximum meshsize for face fnr. Face numbers are 0 based.
400
404
  """
401
405
  def __getstate__(self) -> tuple:
402
406
  ...
403
407
  @typing.overload
404
- def __init__(self, shape: TopoDS_Shape, dim: int = 3, copy: bool = False) -> None:
408
+ def __init__(self, shape: TopoDS_Shape, dim: typing.SupportsInt = 3, copy: bool = False) -> None:
405
409
  """
406
410
  Create Netgen OCCGeometry from existing TopoDS_Shape
407
411
  """
408
412
  @typing.overload
409
- def __init__(self, shape: list[TopoDS_Shape]) -> None:
413
+ def __init__(self, shape: collections.abc.Sequence[TopoDS_Shape]) -> None:
410
414
  """
411
415
  Create Netgen OCCGeometry from existing TopoDS_Shape
412
416
  """
413
417
  @typing.overload
414
- def __init__(self, filename: str, dim: int = 3) -> None:
418
+ def __init__(self, filename: str, dim: typing.SupportsInt = 3) -> None:
415
419
  """
416
420
  Load OCC geometry from step, brep or iges file
417
421
  """
@@ -478,7 +482,7 @@ class ShapeContinuity:
478
482
  ...
479
483
  def __index__(self) -> int:
480
484
  ...
481
- def __init__(self, value: int) -> None:
485
+ def __init__(self, value: typing.SupportsInt) -> None:
482
486
  ...
483
487
  def __int__(self) -> int:
484
488
  ...
@@ -486,7 +490,7 @@ class ShapeContinuity:
486
490
  ...
487
491
  def __repr__(self) -> str:
488
492
  ...
489
- def __setstate__(self, state: int) -> None:
493
+ def __setstate__(self, state: typing.SupportsInt) -> None:
490
494
  ...
491
495
  def __str__(self) -> str:
492
496
  ...
@@ -543,7 +547,7 @@ class TopAbs_ShapeEnum:
543
547
  ...
544
548
  def __index__(self) -> int:
545
549
  ...
546
- def __init__(self, value: int) -> None:
550
+ def __init__(self, value: typing.SupportsInt) -> None:
547
551
  ...
548
552
  def __int__(self) -> int:
549
553
  ...
@@ -551,7 +555,7 @@ class TopAbs_ShapeEnum:
551
555
  ...
552
556
  def __repr__(self) -> str:
553
557
  ...
554
- def __setstate__(self, state: int) -> None:
558
+ def __setstate__(self, state: typing.SupportsInt) -> None:
555
559
  ...
556
560
  def __str__(self) -> str:
557
561
  ...
@@ -570,7 +574,7 @@ class TopoDS_Shape:
570
574
  def Distance(self, arg0: TopoDS_Shape) -> float:
571
575
  ...
572
576
  @typing.overload
573
- def Extrude(self, h: float, dir: gp_Vec | None = None, identify: bool = False, idtype: netgen.libngpy._meshing.IdentificationType = ..., idname: str = 'extrusion') -> TopoDS_Shape:
577
+ def Extrude(self, h: typing.SupportsFloat, dir: netgen.libngpy._NgOCC.gp_Vec | None = None, identify: bool = False, idtype: netgen.libngpy._meshing.IdentificationType = ..., idname: str = 'extrusion') -> TopoDS_Shape:
574
578
  """
575
579
  extrude shape to thickness 'h', shape must contain a plane surface, optionally give an extrusion direction
576
580
  """
@@ -579,13 +583,13 @@ class TopoDS_Shape:
579
583
  """
580
584
  extrude shape by vector 'v'
581
585
  """
582
- def GenerateMesh(self, mp: netgen.libngpy._meshing.MeshingParameters = None, dim: int = 3, ngs_mesh: bool = True, **kwargs) -> typing.Any:
586
+ def GenerateMesh(self, mp: netgen.libngpy._meshing.MeshingParameters = None, dim: typing.SupportsInt = 3, ngs_mesh: bool = True, **kwargs) -> typing.Any:
583
587
  ...
584
- def Identify(self, other: TopoDS_Shape, name: str, type: netgen.libngpy._meshing.IdentificationType = ..., trafo: gp_Trsf | gp_GTrsf | None = None) -> None:
588
+ def Identify(self, other: TopoDS_Shape, name: str, type: netgen.libngpy._meshing.IdentificationType = ..., trafo: netgen.libngpy._NgOCC.gp_Trsf | netgen.libngpy._NgOCC.gp_GTrsf | None = None) -> None:
585
589
  """
586
590
  Identify shapes for periodic meshing
587
591
  """
588
- def LimitTolerance(self, tmin: float, tmax: float = 0.0, type: TopAbs_ShapeEnum = ...) -> None:
592
+ def LimitTolerance(self, tmin: typing.SupportsFloat, tmax: typing.SupportsFloat = 0.0, type: TopAbs_ShapeEnum = ...) -> None:
589
593
  """
590
594
  limit tolerance of shape to range [tmin, tmax]
591
595
  """
@@ -593,21 +597,21 @@ class TopoDS_Shape:
593
597
  """
594
598
  copy shape and sets location of copy
595
599
  """
596
- def MakeChamfer(self, edges: list[TopoDS_Shape], d: float) -> TopoDS_Shape:
600
+ def MakeChamfer(self, edges: collections.abc.Sequence[TopoDS_Shape], d: typing.SupportsFloat) -> TopoDS_Shape:
597
601
  """
598
602
  make symmetric chamfer for edges 'edges' of distrance 'd'
599
603
  """
600
604
  @typing.overload
601
- def MakeFillet(self, fillets: list[tuple[TopoDS_Shape, float]]) -> TopoDS_Shape:
605
+ def MakeFillet(self, fillets: collections.abc.Sequence[tuple[TopoDS_Shape, typing.SupportsFloat]]) -> TopoDS_Shape:
602
606
  """
603
607
  make fillets for shapes of radius 'r'
604
608
  """
605
609
  @typing.overload
606
- def MakeFillet(self, edges: list[TopoDS_Shape], r: float) -> TopoDS_Shape:
610
+ def MakeFillet(self, edges: collections.abc.Sequence[TopoDS_Shape], r: typing.SupportsFloat) -> TopoDS_Shape:
607
611
  """
608
612
  make fillets for edges 'edges' of radius 'r'
609
613
  """
610
- def MakeThickSolid(self, facestoremove: list[TopoDS_Shape], offset: float, tol: float, intersection: bool = False, joinType: str = 'arc', removeIntersectingEdges: bool = False) -> TopoDS_Shape:
614
+ def MakeThickSolid(self, facestoremove: collections.abc.Sequence[TopoDS_Shape], offset: typing.SupportsFloat, tol: typing.SupportsFloat, intersection: bool = False, joinType: str = 'arc', removeIntersectingEdges: bool = False) -> TopoDS_Shape:
611
615
  """
612
616
  makes shell-like solid from faces
613
617
  """
@@ -627,7 +631,7 @@ class TopoDS_Shape:
627
631
  """
628
632
  copy shape, and translate copy by vector 'v'
629
633
  """
630
- def Offset(self, offset: float, tol: float, intersection: bool = False, joinType: str = 'arc', removeIntersectingEdges: bool = False, identification_name: str | None = None) -> TopoDS_Shape:
634
+ def Offset(self, offset: typing.SupportsFloat, tol: typing.SupportsFloat, intersection: bool = False, joinType: str = 'arc', removeIntersectingEdges: bool = False, identification_name: str | None = None) -> TopoDS_Shape:
631
635
  """
632
636
  makes shell-like solid from faces
633
637
  """
@@ -637,19 +641,19 @@ class TopoDS_Shape:
637
641
  """
638
642
  def Reversed(self) -> typing.Any:
639
643
  ...
640
- def Revolve(self, axis: Axis, ang: float) -> TopoDS_Shape:
644
+ def Revolve(self, axis: Axis, ang: typing.SupportsFloat) -> TopoDS_Shape:
641
645
  """
642
646
  revolve shape around 'axis' by 'ang' degrees
643
647
  """
644
- def Rotate(self, axis: Axis, ang: float) -> TopoDS_Shape:
648
+ def Rotate(self, axis: Axis, ang: typing.SupportsFloat) -> TopoDS_Shape:
645
649
  """
646
650
  copy shape, and rotet copy by 'ang' degrees around 'axis'
647
651
  """
648
- def Scale(self, p: gp_Pnt, s: float) -> TopoDS_Shape:
652
+ def Scale(self, p: gp_Pnt, s: typing.SupportsFloat) -> TopoDS_Shape:
649
653
  """
650
654
  copy shape, and scale copy by factor 's'
651
655
  """
652
- def SetTolerance(self, tol: float, stype: TopAbs_ShapeEnum = ...) -> None:
656
+ def SetTolerance(self, tol: typing.SupportsFloat, stype: TopAbs_ShapeEnum = ...) -> None:
653
657
  """
654
658
  set (enforce) tolerance of shape to 't'
655
659
  """
@@ -665,7 +669,7 @@ class TopoDS_Shape:
665
669
  ...
666
670
  def UnifySameDomain(self, unifyEdges: bool = True, unifyFaces: bool = True, concatBSplines: bool = True) -> TopoDS_Shape:
667
671
  ...
668
- def WriteBrep(self, filename: str, withTriangles: bool = True, withNormals: bool = False, version: int | None = None, binary: bool = False) -> None:
672
+ def WriteBrep(self, filename: str, withTriangles: bool = True, withNormals: bool = False, version: typing.SupportsInt | None = None, binary: bool = False) -> None:
669
673
  """
670
674
  export shape in BREP - format
671
675
  """
@@ -685,7 +689,7 @@ class TopoDS_Shape:
685
689
  """
686
690
  common of shapes
687
691
  """
688
- def __radd__(self, arg0: int) -> TopoDS_Shape:
692
+ def __radd__(self, arg0: typing.SupportsInt) -> TopoDS_Shape:
689
693
  """
690
694
  needed for Sum([shapes])
691
695
  """
@@ -718,10 +722,10 @@ class TopoDS_Shape:
718
722
  @property
719
723
  def col(self) -> typing.Any:
720
724
  """
721
- color of shape as RGB - tuple
725
+ color of shape as RGB or RGBA - tuple
722
726
  """
723
727
  @col.setter
724
- def col(self, arg1: list[float] | None) -> None:
728
+ def col(self, arg1: collections.abc.Sequence[typing.SupportsFloat] | None) -> None:
725
729
  ...
726
730
  @property
727
731
  def edges(self) -> ...:
@@ -739,7 +743,7 @@ class TopoDS_Shape:
739
743
  number of refinement levels for geometric refinement
740
744
  """
741
745
  @hpref.setter
742
- def hpref(self, arg1: float) -> None:
746
+ def hpref(self, arg1: typing.SupportsFloat) -> None:
743
747
  ...
744
748
  @property
745
749
  def inertia(self) -> gp_Mat:
@@ -752,7 +756,7 @@ class TopoDS_Shape:
752
756
  layer of shape
753
757
  """
754
758
  @layer.setter
755
- def layer(self, arg1: int) -> None:
759
+ def layer(self, arg1: typing.SupportsInt) -> None:
756
760
  ...
757
761
  @property
758
762
  def location(self) -> TopLoc_Location:
@@ -773,7 +777,7 @@ class TopoDS_Shape:
773
777
  maximal mesh-size for shape
774
778
  """
775
779
  @maxh.setter
776
- def maxh(self, arg1: float) -> None:
780
+ def maxh(self, arg1: typing.SupportsFloat) -> None:
777
781
  ...
778
782
  @property
779
783
  def name(self) -> str | None:
@@ -784,6 +788,11 @@ class TopoDS_Shape:
784
788
  def name(self, arg1: str | None) -> None:
785
789
  ...
786
790
  @property
791
+ def shells(self) -> ...:
792
+ """
793
+ returns all sub-shapes of type 'SHELL'
794
+ """
795
+ @property
787
796
  def solids(self) -> ...:
788
797
  """
789
798
  returns all sub-shapes of type 'SOLID'
@@ -816,28 +825,28 @@ class Vertex(TopoDS_Shape):
816
825
  coordinates of vertex
817
826
  """
818
827
  class Wire(TopoDS_Shape):
819
- def Offset(self, arg0: TopoDS_Face, arg1: float, arg2: str, arg3: bool) -> TopoDS_Shape:
828
+ def Offset(self, arg0: TopoDS_Face, arg1: typing.SupportsFloat, arg2: str, arg3: bool) -> TopoDS_Shape:
820
829
  ...
821
830
  @typing.overload
822
831
  def __init__(self, arg0: Edge) -> None:
823
832
  ...
824
833
  @typing.overload
825
- def __init__(self, arg0: list[TopoDS_Shape]) -> None:
834
+ def __init__(self, arg0: collections.abc.Sequence[TopoDS_Shape]) -> None:
826
835
  ...
827
836
  class WorkPlane:
828
- def Arc(self, r: float, ang: float, name: str | None = None) -> WorkPlane:
837
+ def Arc(self, r: typing.SupportsFloat, ang: typing.SupportsFloat, name: str | None = None, maxh: typing.SupportsFloat | None = None) -> WorkPlane:
829
838
  """
830
839
  draw arc tangential to current pos/dir, of radius 'r' and angle 'ang', draw to the left/right if ang is positive/negative
831
840
  """
832
- def ArcTo(self, h: float, v: float, t: gp_Vec2d, name: str | None = None) -> WorkPlane:
841
+ def ArcTo(self, h: typing.SupportsFloat, v: typing.SupportsFloat, t: gp_Vec2d, name: str | None = None, maxh: typing.SupportsFloat | None = None) -> WorkPlane:
833
842
  ...
834
843
  @typing.overload
835
- def Circle(self, h: float, v: float, r: float) -> WorkPlane:
844
+ def Circle(self, h: typing.SupportsFloat, v: typing.SupportsFloat, r: typing.SupportsFloat) -> WorkPlane:
836
845
  """
837
846
  draw circle with center (h,v) and radius 'r'
838
847
  """
839
848
  @typing.overload
840
- def Circle(self, r: float) -> WorkPlane:
849
+ def Circle(self, r: typing.SupportsFloat) -> WorkPlane:
841
850
  """
842
851
  draw circle with center in current position
843
852
  """
@@ -845,11 +854,11 @@ class WorkPlane:
845
854
  """
846
855
  draw line to start point of wire, and finish wire
847
856
  """
848
- def Direction(self, dirh: float, dirv: float) -> WorkPlane:
857
+ def Direction(self, dirh: typing.SupportsFloat, dirv: typing.SupportsFloat) -> WorkPlane:
849
858
  """
850
859
  reset direction to (dirh, dirv)
851
860
  """
852
- def Ellipse(self, major: float, minor: float) -> WorkPlane:
861
+ def Ellipse(self, major: typing.SupportsFloat, minor: typing.SupportsFloat) -> WorkPlane:
853
862
  """
854
863
  draw ellipse with current position as center
855
864
  """
@@ -861,25 +870,25 @@ class WorkPlane:
861
870
  """
862
871
  finish current wire without closing
863
872
  """
864
- def Last(self) -> Wire | None:
873
+ def Last(self) -> netgen.libngpy._NgOCC.Wire | None:
865
874
  """
866
875
  (deprecated) returns current wire
867
876
  """
868
877
  @typing.overload
869
- def Line(self, l: float, name: str | None = None) -> WorkPlane:
878
+ def Line(self, l: typing.SupportsFloat, name: str | None = None) -> WorkPlane:
870
879
  ...
871
880
  @typing.overload
872
- def Line(self, dx: float, dy: float, name: str | None = None) -> WorkPlane:
881
+ def Line(self, dx: typing.SupportsFloat, dy: typing.SupportsFloat, name: str | None = None) -> WorkPlane:
873
882
  ...
874
- def LineTo(self, h: float, v: float, name: str | None = None) -> WorkPlane:
883
+ def LineTo(self, h: typing.SupportsFloat, v: typing.SupportsFloat, name: str | None = None) -> WorkPlane:
875
884
  """
876
885
  draw line to position (h,v)
877
886
  """
878
- def Move(self, l: float) -> WorkPlane:
887
+ def Move(self, l: typing.SupportsFloat) -> WorkPlane:
879
888
  """
880
889
  move 'l' from current position and direction, start new wire
881
890
  """
882
- def MoveTo(self, h: float, v: float) -> WorkPlane:
891
+ def MoveTo(self, h: typing.SupportsFloat, v: typing.SupportsFloat) -> WorkPlane:
883
892
  """
884
893
  moveto (h,v), and start new wire
885
894
  """
@@ -887,15 +896,15 @@ class WorkPlane:
887
896
  """
888
897
  name vertex at current position
889
898
  """
890
- def Offset(self, d: float) -> WorkPlane:
899
+ def Offset(self, d: typing.SupportsFloat) -> WorkPlane:
891
900
  """
892
901
  replace current wire by offset curve of distance 'd'
893
902
  """
894
- def Rectangle(self, l: float, w: float, name: str | None = None) -> WorkPlane:
903
+ def Rectangle(self, l: typing.SupportsFloat, w: typing.SupportsFloat, name: str | None = None) -> WorkPlane:
895
904
  """
896
905
  draw rectangle, with current position as corner, use current direction
897
906
  """
898
- def RectangleC(self, l: float, w: float, name: str | None = None) -> WorkPlane:
907
+ def RectangleC(self, l: typing.SupportsFloat, w: typing.SupportsFloat, name: str | None = None) -> WorkPlane:
899
908
  """
900
909
  draw rectangle, with current position as center, use current direction
901
910
  """
@@ -903,15 +912,15 @@ class WorkPlane:
903
912
  """
904
913
  revert orientation of current wire
905
914
  """
906
- def Rotate(self, ang: float) -> WorkPlane:
915
+ def Rotate(self, ang: typing.SupportsFloat) -> WorkPlane:
907
916
  """
908
917
  rotate current direction by 'ang' degrees
909
918
  """
910
- def Spline(self, points: list[gp_Pnt2d], periodic: bool = False, tol: float = 1e-08, tangents: dict[int, gp_Vec2d] = {}, start_from_localpos: bool = True) -> WorkPlane:
919
+ def Spline(self, points: collections.abc.Sequence[gp_Pnt2d], periodic: bool = False, tol: typing.SupportsFloat = 1e-08, tangents: collections.abc.Mapping[typing.SupportsInt, gp_Vec2d] = {}, start_from_localpos: bool = True, name: str | None = None) -> WorkPlane:
911
920
  """
912
921
  draw spline (default: starting from current position, which is implicitly added to given list of points), tangents can be specified for each point (0 refers to starting point)
913
922
  """
914
- def Wire(self) -> Wire | None:
923
+ def Wire(self) -> netgen.libngpy._NgOCC.Wire | None:
915
924
  """
916
925
  returns current wire
917
926
  """
@@ -947,13 +956,13 @@ class gp_Dir:
947
956
  """
948
957
  3d OCC direction
949
958
  """
950
- def __getitem__(self, arg0: int) -> float:
959
+ def __getitem__(self, arg0: typing.SupportsInt) -> float:
951
960
  ...
952
961
  @typing.overload
953
962
  def __init__(self, arg0: tuple) -> None:
954
963
  ...
955
964
  @typing.overload
956
- def __init__(self, x: float, y: float, z: float) -> None:
965
+ def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> None:
957
966
  ...
958
967
  @typing.overload
959
968
  def __init__(self, arg0: gp_Vec) -> None:
@@ -968,35 +977,32 @@ class gp_Dir2d:
968
977
  def __init__(self, arg0: tuple) -> None:
969
978
  ...
970
979
  @typing.overload
971
- def __init__(self, x: float, y: float) -> None:
980
+ def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat) -> None:
972
981
  ...
973
982
  class gp_GTrsf:
974
983
  def __call__(self, arg0: TopoDS_Shape) -> TopoDS_Shape:
975
984
  ...
976
- def __init__(self, mat: list[float], vec: list[float] = [0.0, 0.0, 0.0]) -> None:
985
+ def __init__(self, mat: collections.abc.Sequence[typing.SupportsFloat], vec: collections.abc.Sequence[typing.SupportsFloat] = [0.0, 0.0, 0.0]) -> None:
977
986
  ...
978
987
  class gp_Mat:
979
988
  """
980
989
  3d OCC matrix
981
990
  """
982
- def __getitem__(self, arg0: tuple[int, int]) -> float:
991
+ def __getitem__(self, arg0: tuple[typing.SupportsInt, typing.SupportsInt]) -> float:
983
992
  ...
984
993
  class gp_Pnt:
985
994
  """
986
995
  3d OCC point
987
996
  """
988
- x: float
989
- y: float
990
- z: float
991
997
  def __add__(self, arg0: gp_Vec) -> gp_Pnt:
992
998
  ...
993
- def __getitem__(self, arg0: int) -> float:
999
+ def __getitem__(self, arg0: typing.SupportsInt) -> float:
994
1000
  ...
995
1001
  @typing.overload
996
1002
  def __init__(self, arg0: tuple) -> None:
997
1003
  ...
998
1004
  @typing.overload
999
- def __init__(self, x: float, y: float, z: float) -> None:
1005
+ def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> None:
1000
1006
  ...
1001
1007
  def __repr__(self) -> str:
1002
1008
  ...
@@ -1008,19 +1014,35 @@ class gp_Pnt:
1008
1014
  @typing.overload
1009
1015
  def __sub__(self, arg0: gp_Vec) -> gp_Pnt:
1010
1016
  ...
1017
+ @property
1018
+ def x(self) -> float:
1019
+ ...
1020
+ @x.setter
1021
+ def x(self, arg1: typing.SupportsFloat) -> None:
1022
+ ...
1023
+ @property
1024
+ def y(self) -> float:
1025
+ ...
1026
+ @y.setter
1027
+ def y(self, arg1: typing.SupportsFloat) -> None:
1028
+ ...
1029
+ @property
1030
+ def z(self) -> float:
1031
+ ...
1032
+ @z.setter
1033
+ def z(self, arg1: typing.SupportsFloat) -> None:
1034
+ ...
1011
1035
  class gp_Pnt2d:
1012
1036
  """
1013
1037
  2d OCC point
1014
1038
  """
1015
- x: float
1016
- y: float
1017
1039
  def __add__(self, arg0: gp_Vec2d) -> gp_Pnt2d:
1018
1040
  ...
1019
1041
  @typing.overload
1020
- def __init__(self, arg0: tuple[float, float]) -> None:
1042
+ def __init__(self, arg0: tuple[typing.SupportsFloat, typing.SupportsFloat]) -> None:
1021
1043
  ...
1022
1044
  @typing.overload
1023
- def __init__(self, x: float, y: float) -> None:
1045
+ def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat) -> None:
1024
1046
  ...
1025
1047
  def __repr__(self) -> str:
1026
1048
  ...
@@ -1032,20 +1054,32 @@ class gp_Pnt2d:
1032
1054
  @typing.overload
1033
1055
  def __sub__(self, arg0: gp_Vec2d) -> gp_Pnt2d:
1034
1056
  ...
1057
+ @property
1058
+ def x(self) -> float:
1059
+ ...
1060
+ @x.setter
1061
+ def x(self, arg1: typing.SupportsFloat) -> None:
1062
+ ...
1063
+ @property
1064
+ def y(self) -> float:
1065
+ ...
1066
+ @y.setter
1067
+ def y(self, arg1: typing.SupportsFloat) -> None:
1068
+ ...
1035
1069
  class gp_Trsf:
1036
1070
  @staticmethod
1037
1071
  def Mirror(arg0: Axis) -> gp_Trsf:
1038
1072
  ...
1039
1073
  @staticmethod
1040
1074
  @typing.overload
1041
- def Rotation(arg0: Axis, arg1: float) -> gp_Trsf:
1075
+ def Rotation(arg0: Axis, arg1: typing.SupportsFloat) -> gp_Trsf:
1042
1076
  ...
1043
1077
  @staticmethod
1044
1078
  @typing.overload
1045
- def Rotation(arg0: gp_Pnt, arg1: gp_Dir, arg2: float) -> gp_Trsf:
1079
+ def Rotation(arg0: gp_Pnt, arg1: gp_Dir, arg2: typing.SupportsFloat) -> gp_Trsf:
1046
1080
  ...
1047
1081
  @staticmethod
1048
- def Scale(arg0: gp_Pnt, arg1: float) -> gp_Trsf:
1082
+ def Scale(arg0: gp_Pnt, arg1: typing.SupportsFloat) -> gp_Trsf:
1049
1083
  ...
1050
1084
  @staticmethod
1051
1085
  @typing.overload
@@ -1074,29 +1108,26 @@ class gp_Vec:
1074
1108
  """
1075
1109
  3d OCC vector
1076
1110
  """
1077
- x: float
1078
- y: float
1079
- z: float
1080
1111
  def Norm(self) -> float:
1081
1112
  ...
1082
1113
  def __add__(self, arg0: gp_Vec) -> gp_Vec:
1083
1114
  ...
1084
- def __ge__(self, arg0: float) -> ...:
1115
+ def __ge__(self, arg0: typing.SupportsFloat) -> ...:
1085
1116
  ...
1086
- def __gt__(self, arg0: float) -> ...:
1117
+ def __gt__(self, arg0: typing.SupportsFloat) -> ...:
1087
1118
  ...
1088
1119
  @typing.overload
1089
1120
  def __init__(self, arg0: tuple) -> None:
1090
1121
  ...
1091
1122
  @typing.overload
1092
- def __init__(self, x: float, y: float, z: float) -> None:
1123
+ def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> None:
1093
1124
  ...
1094
1125
  @typing.overload
1095
1126
  def __init__(self, arg0: gp_Dir) -> None:
1096
1127
  ...
1097
- def __le__(self, arg0: float) -> ...:
1128
+ def __le__(self, arg0: typing.SupportsFloat) -> ...:
1098
1129
  ...
1099
- def __lt__(self, arg0: float) -> ...:
1130
+ def __lt__(self, arg0: typing.SupportsFloat) -> ...:
1100
1131
  ...
1101
1132
  def __mul__(self, arg0: gp_Vec) -> float:
1102
1133
  ...
@@ -1104,7 +1135,7 @@ class gp_Vec:
1104
1135
  ...
1105
1136
  def __repr__(self) -> str:
1106
1137
  ...
1107
- def __rmul__(self, arg0: float) -> gp_Vec:
1138
+ def __rmul__(self, arg0: typing.SupportsFloat) -> gp_Vec:
1108
1139
  ...
1109
1140
  def __str__(self) -> str:
1110
1141
  ...
@@ -1112,25 +1143,41 @@ class gp_Vec:
1112
1143
  ...
1113
1144
  def __xor__(self, arg0: gp_Vec) -> gp_Vec:
1114
1145
  ...
1146
+ @property
1147
+ def x(self) -> float:
1148
+ ...
1149
+ @x.setter
1150
+ def x(self, arg1: typing.SupportsFloat) -> None:
1151
+ ...
1152
+ @property
1153
+ def y(self) -> float:
1154
+ ...
1155
+ @y.setter
1156
+ def y(self, arg1: typing.SupportsFloat) -> None:
1157
+ ...
1158
+ @property
1159
+ def z(self) -> float:
1160
+ ...
1161
+ @z.setter
1162
+ def z(self, arg1: typing.SupportsFloat) -> None:
1163
+ ...
1115
1164
  class gp_Vec2d:
1116
1165
  """
1117
1166
  2d OCC vector
1118
1167
  """
1119
- x: float
1120
- y: float
1121
1168
  def __add__(self, arg0: gp_Vec2d) -> gp_Vec2d:
1122
1169
  ...
1123
1170
  @typing.overload
1124
1171
  def __init__(self, arg0: tuple) -> None:
1125
1172
  ...
1126
1173
  @typing.overload
1127
- def __init__(self, x: float, y: float) -> None:
1174
+ def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat) -> None:
1128
1175
  ...
1129
1176
  def __neg__(self) -> gp_Vec2d:
1130
1177
  ...
1131
1178
  def __repr__(self: gp_Vec) -> str:
1132
1179
  ...
1133
- def __rmul__(self, arg0: float) -> gp_Vec2d:
1180
+ def __rmul__(self, arg0: typing.SupportsFloat) -> gp_Vec2d:
1134
1181
  ...
1135
1182
  def __str__(self: gp_Vec) -> str:
1136
1183
  ...
@@ -1138,6 +1185,18 @@ class gp_Vec2d:
1138
1185
  ...
1139
1186
  def __xor__(self, arg0: gp_Vec2d) -> float:
1140
1187
  ...
1188
+ @property
1189
+ def x(self) -> float:
1190
+ ...
1191
+ @x.setter
1192
+ def x(self, arg1: typing.SupportsFloat) -> None:
1193
+ ...
1194
+ @property
1195
+ def y(self) -> float:
1196
+ ...
1197
+ @y.setter
1198
+ def y(self, arg1: typing.SupportsFloat) -> None:
1199
+ ...
1141
1200
  @typing.overload
1142
1201
  def ArcOfCircle(p1: gp_Pnt, p2: gp_Pnt, p3: gp_Pnt) -> Edge:
1143
1202
  """
@@ -1148,13 +1207,13 @@ def ArcOfCircle(p1: gp_Pnt, v: gp_Vec, p2: gp_Pnt) -> Edge:
1148
1207
  """
1149
1208
  create arc from p1, with tangent vector v, to point p2
1150
1209
  """
1151
- def BSplineCurve(arg0: list[gp_Pnt], arg1: int) -> Edge:
1210
+ def BSplineCurve(arg0: collections.abc.Sequence[gp_Pnt], arg1: typing.SupportsInt) -> Edge:
1152
1211
  ...
1153
- def BezierCurve(points: list[gp_Pnt]) -> Edge:
1212
+ def BezierCurve(points: collections.abc.Sequence[gp_Pnt]) -> Edge:
1154
1213
  """
1155
1214
  create Bezier curve
1156
1215
  """
1157
- def BezierSurface(poles: numpy.ndarray[numpy.float64], weights: numpy.ndarray[numpy.float64] | None = None, tol: float = 1e-07) -> Face:
1216
+ def BezierSurface(poles: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], weights: typing.Annotated[numpy.typing.ArrayLike, numpy.float64] | None = None, tol: typing.SupportsFloat = 1e-07) -> Face:
1158
1217
  """
1159
1218
  Creates a rational Bezier surface with the set of poles and the set of weights. The weights are defaulted to all being 1. If all the weights are identical the surface is considered as non rational. Raises ConstructionError if the number of poles in any direction is greater than MaxDegree + 1 or lower than 2 or CurvePoles and CurveWeights have not the same length or one weight value is lower or equal to Resolution. Returns an occ face with the given tolerance.
1160
1219
  """
@@ -1163,58 +1222,58 @@ def Box(p1: gp_Pnt, p2: gp_Pnt) -> Solid:
1163
1222
  create box with opposite points 'p1' and 'p2'
1164
1223
  """
1165
1224
  @typing.overload
1166
- def Circle(c: gp_Pnt2d, r: float) -> Geom2d_Curve:
1225
+ def Circle(c: gp_Pnt2d, r: typing.SupportsFloat) -> Geom2d_Curve:
1167
1226
  """
1168
1227
  create 2d circle curve
1169
1228
  """
1170
1229
  @typing.overload
1171
- def Circle(arg0: gp_Pnt, arg1: gp_Dir, arg2: float) -> Edge:
1230
+ def Circle(arg0: gp_Pnt, arg1: gp_Dir, arg2: typing.SupportsFloat) -> Edge:
1172
1231
  ...
1173
- def Cone(axis: gp_Ax2, r1: float, r2: float, h: float, angle: float) -> Solid:
1232
+ def Cone(axis: gp_Ax2, r1: typing.SupportsFloat, r2: typing.SupportsFloat, h: typing.SupportsFloat, angle: typing.SupportsFloat) -> Solid:
1174
1233
  """
1175
1234
  create cone given by axis, radius at bottom (z=0) r1, radius at top (z=h) r2, height and angle
1176
1235
  """
1177
- def ConnectEdgesToWires(edges: list[TopoDS_Shape], tol: float = 1e-08, shared: bool = True) -> list[Wire]:
1236
+ def ConnectEdgesToWires(edges: collections.abc.Sequence[TopoDS_Shape], tol: typing.SupportsFloat = 1e-08, shared: bool = True) -> list[Wire]:
1178
1237
  ...
1179
1238
  @typing.overload
1180
- def Cylinder(p: gp_Pnt, d: gp_Dir, r: float, h: float, bottom: str | None = None, top: str | None = None, mantle: str | None = None) -> typing.Any:
1239
+ def Cylinder(p: gp_Pnt, d: gp_Dir, r: typing.SupportsFloat, h: typing.SupportsFloat, bottom: str | None = None, top: str | None = None, mantle: str | None = None) -> typing.Any:
1181
1240
  """
1182
1241
  create cylinder with base point 'p', axis direction 'd', radius 'r', and height 'h'
1183
1242
  """
1184
1243
  @typing.overload
1185
- def Cylinder(axis: gp_Ax2, r: float, h: float) -> Solid:
1244
+ def Cylinder(axis: gp_Ax2, r: typing.SupportsFloat, h: typing.SupportsFloat) -> Solid:
1186
1245
  """
1187
1246
  create cylinder given by axis, radius and height
1188
1247
  """
1189
1248
  @typing.overload
1190
- def Dir(x: float, y: float) -> gp_Dir2d:
1249
+ def Dir(x: typing.SupportsFloat, y: typing.SupportsFloat) -> gp_Dir2d:
1191
1250
  """
1192
1251
  create 2d OCC direction
1193
1252
  """
1194
1253
  @typing.overload
1195
- def Dir(x: float, y: float, z: float) -> gp_Dir:
1254
+ def Dir(x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> gp_Dir:
1196
1255
  """
1197
1256
  create 3d OCC direction
1198
1257
  """
1199
1258
  @typing.overload
1200
- def Dir(d: list[float]) -> typing.Any:
1259
+ def Dir(d: collections.abc.Sequence[typing.SupportsFloat]) -> typing.Any:
1201
1260
  """
1202
1261
  create 2d or 3d OCC direction
1203
1262
  """
1204
- def Ellipse(axes: gp_Ax2d, major: float, minor: float) -> Geom2d_Curve:
1263
+ def Ellipse(axes: gp_Ax2d, major: typing.SupportsFloat, minor: typing.SupportsFloat) -> Geom2d_Curve:
1205
1264
  """
1206
1265
  create 2d ellipse curve
1207
1266
  """
1208
- def Ellipsoid(axes: Axes, r1: float, r2: float, r3: float | None = None) -> TopoDS_Shape:
1267
+ def Ellipsoid(axes: Axes, r1: typing.SupportsFloat, r2: typing.SupportsFloat, r3: typing.SupportsFloat | None = None) -> TopoDS_Shape:
1209
1268
  """
1210
1269
  create ellipsoid with local coordinates given by axes, radi 'r1', 'r2', 'r3'
1211
1270
  """
1212
1271
  def From_PyOCC(arg0: typing.Any) -> typing.Any:
1213
1272
  ...
1214
- def Fuse(arg0: list[TopoDS_Shape]) -> TopoDS_Shape:
1273
+ def Fuse(arg0: collections.abc.Sequence[TopoDS_Shape]) -> TopoDS_Shape:
1215
1274
  ...
1216
1275
  @typing.overload
1217
- def Glue(shapes: list[TopoDS_Shape]) -> TopoDS_Shape:
1276
+ def Glue(shapes: collections.abc.Sequence[TopoDS_Shape]) -> TopoDS_Shape:
1218
1277
  """
1219
1278
  glue together shapes of list
1220
1279
  """
@@ -1227,34 +1286,34 @@ def HalfSpace(p: gp_Pnt, n: gp_Vec) -> TopoDS_Shape:
1227
1286
  """
1228
1287
  Create a half space threw point p normal to n
1229
1288
  """
1230
- def LoadOCCGeometry(arg0: os.PathLike) -> netgen.libngpy._meshing.NetgenGeometry:
1289
+ def LoadOCCGeometry(arg0: os.PathLike | str | bytes) -> netgen.libngpy._meshing.NetgenGeometry:
1231
1290
  ...
1232
- def MakeFillet(arg0: TopoDS_Shape, arg1: list[TopoDS_Shape], arg2: float) -> TopoDS_Shape:
1291
+ def MakeFillet(arg0: TopoDS_Shape, arg1: collections.abc.Sequence[TopoDS_Shape], arg2: typing.SupportsFloat) -> TopoDS_Shape:
1233
1292
  """
1234
1293
  deprecated, use 'shape.MakeFillet'
1235
1294
  """
1236
- def MakePolygon(arg0: list[Vertex]) -> Wire:
1295
+ def MakePolygon(arg0: collections.abc.Sequence[Vertex]) -> Wire:
1237
1296
  ...
1238
- def MakeThickSolid(arg0: TopoDS_Shape, arg1: list[TopoDS_Shape], arg2: float, arg3: float) -> TopoDS_Shape:
1297
+ def MakeThickSolid(arg0: TopoDS_Shape, arg1: collections.abc.Sequence[TopoDS_Shape], arg2: typing.SupportsFloat, arg3: typing.SupportsFloat) -> TopoDS_Shape:
1239
1298
  """
1240
1299
  deprecated, use 'shape.MakeThickSolid'
1241
1300
  """
1242
- def Pipe(spine: Wire, profile: TopoDS_Shape, twist: tuple[gp_Pnt, float] | None = None, auxspine: Wire | None = None) -> TopoDS_Shape:
1301
+ def Pipe(spine: Wire, profile: TopoDS_Shape, twist: tuple[gp_Pnt, typing.SupportsFloat] | None = None, auxspine: netgen.libngpy._NgOCC.Wire | None = None) -> TopoDS_Shape:
1243
1302
  ...
1244
- def PipeShell(spine: Wire, profile: TopoDS_Shape | list[TopoDS_Shape], auxspine: Wire | None = None) -> TopoDS_Shape:
1303
+ def PipeShell(spine: Wire, profile: netgen.libngpy._NgOCC.TopoDS_Shape | collections.abc.Sequence[TopoDS_Shape], auxspine: netgen.libngpy._NgOCC.Wire | None = None) -> TopoDS_Shape:
1245
1304
  ...
1246
1305
  @typing.overload
1247
- def Pnt(x: float, y: float) -> gp_Pnt2d:
1306
+ def Pnt(x: typing.SupportsFloat, y: typing.SupportsFloat) -> gp_Pnt2d:
1248
1307
  """
1249
1308
  create 2d OCC point
1250
1309
  """
1251
1310
  @typing.overload
1252
- def Pnt(x: float, y: float, z: float) -> gp_Pnt:
1311
+ def Pnt(x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> gp_Pnt:
1253
1312
  """
1254
1313
  create 3d OCC point
1255
1314
  """
1256
1315
  @typing.overload
1257
- def Pnt(p: list[float]) -> typing.Any:
1316
+ def Pnt(p: collections.abc.Sequence[typing.SupportsFloat]) -> typing.Any:
1258
1317
  """
1259
1318
  create 2d or 3d OCC point
1260
1319
  """
@@ -1264,7 +1323,7 @@ def Prism(face: TopoDS_Shape, v: gp_Vec) -> TopoDS_Shape:
1264
1323
  """
1265
1324
  def ResetGlobalShapeProperties() -> None:
1266
1325
  ...
1267
- def Revolve(arg0: TopoDS_Shape, arg1: Axis, arg2: float) -> TopoDS_Shape:
1326
+ def Revolve(arg0: TopoDS_Shape, arg1: Axis, arg2: typing.SupportsFloat) -> TopoDS_Shape:
1268
1327
  ...
1269
1328
  @typing.overload
1270
1329
  def Segment(p1: gp_Pnt2d, p2: gp_Pnt2d) -> Geom2d_Curve:
@@ -1274,12 +1333,32 @@ def Segment(p1: gp_Pnt2d, p2: gp_Pnt2d) -> Geom2d_Curve:
1274
1333
  @typing.overload
1275
1334
  def Segment(arg0: gp_Pnt, arg1: gp_Pnt) -> Edge:
1276
1335
  ...
1277
- def Sphere(c: gp_Pnt, r: float) -> Solid:
1336
+ def Sew(faces: collections.abc.Sequence[TopoDS_Shape], tolerance: typing.SupportsFloat = 1e-06, non_manifold: bool = False) -> TopoDS_Shape:
1337
+ """
1338
+ Stitch a list of faces into one or more connected shells.
1339
+
1340
+ Parameters
1341
+ ----------
1342
+ faces : list[TopoDS_Shape]
1343
+ Faces or other shapes to sew together.
1344
+ tolerance : float, default=1e-6
1345
+ Geometric tolerance for merging edges and vertices.
1346
+ non_manifold : bool, default=False
1347
+ If True, allows edges shared by more than two faces (may produce
1348
+ multiple shells). If False, creates only manifold shells suitable
1349
+ for solids.
1350
+
1351
+ Returns
1352
+ -------
1353
+ TopoDS_Shape
1354
+ The sewed shape containing one or more shells.
1355
+ """
1356
+ def Sphere(c: gp_Pnt, r: typing.SupportsFloat) -> Solid:
1278
1357
  """
1279
1358
  create sphere with center 'c' and radius 'r'
1280
1359
  """
1281
1360
  @typing.overload
1282
- def SplineApproximation(points: list[gp_Pnt2d], approx_type: ApproxParamType = ..., deg_min: int = 3, deg_max: int = 8, continuity: ShapeContinuity = ..., tol: float = 1e-08) -> Geom2d_Curve:
1361
+ def SplineApproximation(points: collections.abc.Sequence[gp_Pnt2d], approx_type: ApproxParamType = ..., deg_min: typing.SupportsInt = 3, deg_max: typing.SupportsInt = 8, continuity: ShapeContinuity = ..., tol: typing.SupportsFloat = 1e-08) -> Geom2d_Curve:
1283
1362
  """
1284
1363
  Generate a piecewise continuous spline-curve approximating a list of points in 2d.
1285
1364
 
@@ -1305,7 +1384,7 @@ def SplineApproximation(points: list[gp_Pnt2d], approx_type: ApproxParamType = .
1305
1384
  Tolerance for the distance from individual points to the approximating curve.
1306
1385
  """
1307
1386
  @typing.overload
1308
- def SplineApproximation(points: list[gp_Pnt], approx_type: ApproxParamType = ..., deg_min: int = 3, deg_max: int = 8, continuity: ShapeContinuity = ..., tol: float = 1e-08) -> Edge:
1387
+ def SplineApproximation(points: collections.abc.Sequence[gp_Pnt], approx_type: ApproxParamType = ..., deg_min: typing.SupportsInt = 3, deg_max: typing.SupportsInt = 8, continuity: ShapeContinuity = ..., tol: typing.SupportsFloat = 1e-08) -> Edge:
1309
1388
  """
1310
1389
  Generate a piecewise continuous spline-curve approximating a list of points in 3d.
1311
1390
 
@@ -1331,7 +1410,7 @@ def SplineApproximation(points: list[gp_Pnt], approx_type: ApproxParamType = ...
1331
1410
  Tolerance for the distance from individual points to the approximating curve.
1332
1411
  """
1333
1412
  @typing.overload
1334
- def SplineInterpolation(points: list[gp_Pnt2d], periodic: bool = False, tol: float = 1e-08, tangents: dict[int, gp_Vec2d] = {}) -> Geom2d_Curve:
1413
+ def SplineInterpolation(points: collections.abc.Sequence[gp_Pnt2d], periodic: bool = False, tol: typing.SupportsFloat = 1e-08, tangents: collections.abc.Mapping[typing.SupportsInt, gp_Vec2d] = {}) -> Geom2d_Curve:
1335
1414
  """
1336
1415
  Generate a piecewise continuous spline-curve interpolating a list of points in 2d.
1337
1416
 
@@ -1351,7 +1430,7 @@ def SplineInterpolation(points: list[gp_Pnt2d], periodic: bool = False, tol: flo
1351
1430
  Tangent vectors for the points indicated by the key value (0-based).
1352
1431
  """
1353
1432
  @typing.overload
1354
- def SplineInterpolation(points: list[gp_Pnt], periodic: bool = False, tol: float = 1e-08, tangents: dict[int, gp_Vec] = {}) -> Edge:
1433
+ def SplineInterpolation(points: collections.abc.Sequence[gp_Pnt], periodic: bool = False, tol: typing.SupportsFloat = 1e-08, tangents: collections.abc.Mapping[typing.SupportsInt, gp_Vec] = {}) -> Edge:
1355
1434
  """
1356
1435
  Generate a piecewise continuous spline-curve interpolating a list of points in 3d.
1357
1436
 
@@ -1370,7 +1449,7 @@ def SplineInterpolation(points: list[gp_Pnt], periodic: bool = False, tol: float
1370
1449
  tangents : Dict[int, gp_Vec]
1371
1450
  Tangent vectors for the points indicated by the key value (0-based).
1372
1451
  """
1373
- def SplineSurfaceApproximation(points: numpy.ndarray[numpy.float64], approx_type: ApproxParamType = ..., deg_min: int = 3, deg_max: int = 8, continuity: ShapeContinuity = ..., tol: float = 0.001, periodic: bool = False, degen_tol: float = 1e-08) -> Face:
1452
+ def SplineSurfaceApproximation(points: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], approx_type: ApproxParamType = ..., deg_min: typing.SupportsInt = 3, deg_max: typing.SupportsInt = 8, continuity: ShapeContinuity = ..., tol: typing.SupportsFloat = 0.001, periodic: bool = False, degen_tol: typing.SupportsFloat = 1e-08) -> Face:
1374
1453
  """
1375
1454
  Generate a piecewise continuous spline-surface approximating an array of points.
1376
1455
 
@@ -1406,7 +1485,7 @@ def SplineSurfaceApproximation(points: numpy.ndarray[numpy.float64], approx_type
1406
1485
  degen_tol : double
1407
1486
  Tolerance for resolution of degenerate edges
1408
1487
  """
1409
- def SplineSurfaceInterpolation(points: numpy.ndarray[numpy.float64], approx_type: ApproxParamType = ..., periodic: bool = False, degen_tol: float = 1e-08) -> Face:
1488
+ def SplineSurfaceInterpolation(points: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], approx_type: ApproxParamType = ..., periodic: bool = False, degen_tol: typing.SupportsFloat = 1e-08) -> Face:
1410
1489
  """
1411
1490
  Generate a piecewise continuous spline-surface interpolating an array of points.
1412
1491
 
@@ -1432,22 +1511,22 @@ def SplineSurfaceInterpolation(points: numpy.ndarray[numpy.float64], approx_type
1432
1511
  """
1433
1512
  def TestXCAF(shape: TopoDS_Shape = ...) -> None:
1434
1513
  ...
1435
- def ThruSections(wires: list[TopoDS_Shape], solid: bool = True) -> TopoDS_Shape:
1514
+ def ThruSections(wires: collections.abc.Sequence[TopoDS_Shape], solid: bool = True) -> TopoDS_Shape:
1436
1515
  """
1437
1516
  Building a loft. This is a shell or solid passing through a set of sections (wires). First and last sections may be vertices. See https://dev.opencascade.org/doc/refman/html/class_b_rep_offset_a_p_i___thru_sections.html#details
1438
1517
  """
1439
1518
  @typing.overload
1440
- def Vec(x: float, y: float) -> gp_Vec2d:
1519
+ def Vec(x: typing.SupportsFloat, y: typing.SupportsFloat) -> gp_Vec2d:
1441
1520
  """
1442
1521
  create 2d OCC point
1443
1522
  """
1444
1523
  @typing.overload
1445
- def Vec(x: float, y: float, z: float) -> gp_Vec:
1524
+ def Vec(x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> gp_Vec:
1446
1525
  """
1447
1526
  create 3d OCC point
1448
1527
  """
1449
1528
  @typing.overload
1450
- def Vec(v: list[float]) -> typing.Any:
1529
+ def Vec(v: collections.abc.Sequence[typing.SupportsFloat]) -> typing.Any:
1451
1530
  """
1452
1531
  create 2d or 3d OCC vector
1453
1532
  """