netgen-mesher 6.2.2504.post11.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 (153) hide show
  1. netgen/__init__.pyi +3 -3
  2. netgen/cmake/NetgenConfig.cmake +10 -9
  3. netgen/config/__init__.pyi +8 -8
  4. netgen/config/config.py +7 -7
  5. netgen/config/config.pyi +8 -8
  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/paje_trace.hpp +9 -8
  17. netgen/include/core/profiler.hpp +5 -5
  18. netgen/include/core/register_archive.hpp +8 -0
  19. netgen/include/core/simd.hpp +69 -1
  20. netgen/include/core/simd_arm64.hpp +205 -1
  21. netgen/include/core/simd_avx.hpp +72 -4
  22. netgen/include/core/simd_avx512.hpp +9 -0
  23. netgen/include/core/simd_generic.hpp +274 -8
  24. netgen/include/core/simd_math.hpp +178 -0
  25. netgen/include/core/simd_sse.hpp +11 -1
  26. netgen/include/core/statushandler.hpp +37 -0
  27. netgen/include/core/table.hpp +3 -2
  28. netgen/include/core/taskmanager.hpp +34 -1
  29. netgen/include/core/utils.hpp +3 -8
  30. netgen/include/include/netgen_version.hpp +4 -4
  31. netgen/include/meshing/basegeom.hpp +1 -4
  32. netgen/include/meshing/global.hpp +0 -17
  33. netgen/include/meshing/hpref_tet.hpp +41 -0
  34. netgen/include/meshing/hprefinement.hpp +2 -0
  35. netgen/include/meshing/meshtype.hpp +2 -1
  36. netgen/include/meshing/msghandler.hpp +9 -6
  37. netgen/include/meshing/topology.hpp +2 -2
  38. netgen/include/nginterface.h +3 -2
  39. netgen/include/occ/occ_utils.hpp +26 -0
  40. netgen/include/occ/occgeom.hpp +8 -0
  41. netgen/include/pybind11/attr.h +40 -8
  42. netgen/include/pybind11/buffer_info.h +14 -14
  43. netgen/include/pybind11/cast.h +553 -29
  44. netgen/include/pybind11/chrono.h +4 -1
  45. netgen/include/pybind11/conduit/README.txt +15 -0
  46. netgen/include/pybind11/conduit/pybind11_conduit_v1.h +116 -0
  47. netgen/include/pybind11/conduit/pybind11_platform_abi_id.h +87 -0
  48. netgen/include/pybind11/conduit/wrap_include_python_h.h +72 -0
  49. netgen/include/pybind11/critical_section.h +56 -0
  50. netgen/include/pybind11/detail/class.h +172 -97
  51. netgen/include/pybind11/detail/common.h +270 -189
  52. netgen/include/pybind11/detail/cpp_conduit.h +75 -0
  53. netgen/include/pybind11/detail/descr.h +55 -0
  54. netgen/include/pybind11/detail/dynamic_raw_ptr_cast_if_possible.h +39 -0
  55. netgen/include/pybind11/detail/exception_translation.h +71 -0
  56. netgen/include/pybind11/detail/function_record_pyobject.h +191 -0
  57. netgen/include/pybind11/detail/init.h +113 -9
  58. netgen/include/pybind11/detail/internals.h +479 -344
  59. netgen/include/pybind11/detail/native_enum_data.h +209 -0
  60. netgen/include/pybind11/detail/pybind11_namespace_macros.h +82 -0
  61. netgen/include/pybind11/detail/struct_smart_holder.h +378 -0
  62. netgen/include/pybind11/detail/type_caster_base.h +506 -133
  63. netgen/include/pybind11/detail/using_smart_holder.h +22 -0
  64. netgen/include/pybind11/detail/value_and_holder.h +90 -0
  65. netgen/include/pybind11/eigen/matrix.h +19 -10
  66. netgen/include/pybind11/eigen/tensor.h +15 -11
  67. netgen/include/pybind11/embed.h +50 -46
  68. netgen/include/pybind11/eval.h +11 -6
  69. netgen/include/pybind11/functional.h +58 -49
  70. netgen/include/pybind11/gil.h +34 -82
  71. netgen/include/pybind11/gil_safe_call_once.h +12 -1
  72. netgen/include/pybind11/gil_simple.h +37 -0
  73. netgen/include/pybind11/native_enum.h +67 -0
  74. netgen/include/pybind11/numpy.h +272 -93
  75. netgen/include/pybind11/pybind11.h +947 -265
  76. netgen/include/pybind11/pytypes.h +127 -21
  77. netgen/include/pybind11/stl/filesystem.h +23 -25
  78. netgen/include/pybind11/stl.h +277 -59
  79. netgen/include/pybind11/stl_bind.h +42 -7
  80. netgen/include/pybind11/subinterpreter.h +299 -0
  81. netgen/include/pybind11/trampoline_self_life_support.h +65 -0
  82. netgen/include/pybind11/typing.h +177 -4
  83. netgen/include/pybind11/warnings.h +75 -0
  84. netgen/include/visualization/mvdraw.hpp +48 -12
  85. netgen/include/visualization/vssolution.hpp +3 -1
  86. netgen/lib/libnggui.lib +0 -0
  87. netgen/lib/ngcore.lib +0 -0
  88. netgen/lib/nglib.lib +0 -0
  89. netgen/libnggui.dll +0 -0
  90. netgen/libngguipy.pyd +0 -0
  91. netgen/libngpy/_NgOCC.pyi +224 -139
  92. netgen/libngpy/_csg.pyi +26 -26
  93. netgen/libngpy/_geom2d.pyi +34 -25
  94. netgen/libngpy/_meshing.pyi +262 -111
  95. netgen/libngpy/_stl.pyi +3 -4
  96. netgen/libngpy.pyd +0 -0
  97. netgen/ngcore.dll +0 -0
  98. netgen/nglib.dll +0 -0
  99. netgen/read_gmsh.py +41 -0
  100. netgen/togl.dll +0 -0
  101. netgen/version.py +1 -1
  102. netgen/webgui.py +38 -2
  103. {netgen_mesher-6.2.2504.post11.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/METADATA +2 -1
  104. {netgen_mesher-6.2.2504.post11.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/RECORD +153 -132
  105. pyngcore/pyngcore.cp313-win_amd64.pyd +0 -0
  106. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/boundarycondition.geo +0 -0
  107. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/boxcyl.geo +0 -0
  108. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/circle_on_cube.geo +0 -0
  109. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cone.geo +0 -0
  110. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cube.geo +0 -0
  111. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cubeandring.geo +0 -0
  112. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cubeandspheres.geo +0 -0
  113. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cubemcyl.geo +0 -0
  114. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cubemsphere.geo +0 -0
  115. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cylinder.geo +0 -0
  116. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/cylsphere.geo +0 -0
  117. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/doc/ng4.pdf +0 -0
  118. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/ellipsoid.geo +0 -0
  119. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/ellipticcyl.geo +0 -0
  120. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/extrusion.geo +0 -0
  121. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/fichera.geo +0 -0
  122. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/frame.step +0 -0
  123. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/hinge.stl +0 -0
  124. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/lshape3d.geo +0 -0
  125. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/manyholes.geo +0 -0
  126. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/manyholes2.geo +0 -0
  127. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/matrix.geo +0 -0
  128. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/ortho.geo +0 -0
  129. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/part1.stl +0 -0
  130. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/period.geo +0 -0
  131. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/py_tutorials/exportNeutral.py +0 -0
  132. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/py_tutorials/mesh.py +0 -0
  133. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/py_tutorials/shaft.geo +0 -0
  134. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/revolution.geo +0 -0
  135. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/screw.step +0 -0
  136. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/sculpture.geo +0 -0
  137. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/shaft.geo +0 -0
  138. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/shell.geo +0 -0
  139. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/sphere.geo +0 -0
  140. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/sphereincube.geo +0 -0
  141. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/square.in2d +0 -0
  142. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/squarecircle.in2d +0 -0
  143. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/squarehole.in2d +0 -0
  144. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/torus.geo +0 -0
  145. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/trafo.geo +0 -0
  146. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/twobricks.geo +0 -0
  147. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/twocubes.geo +0 -0
  148. {netgen_mesher-6.2.2504.post11.dev0.data → netgen_mesher-6.2.2506.post48.dev0.data}/data/share/netgen/twocyl.geo +0 -0
  149. {netgen_mesher-6.2.2504.post11.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/AUTHORS +0 -0
  150. {netgen_mesher-6.2.2504.post11.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/LICENSE +0 -0
  151. {netgen_mesher-6.2.2504.post11.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/WHEEL +0 -0
  152. {netgen_mesher-6.2.2504.post11.dev0.dist-info → netgen_mesher-6.2.2506.post48.dev0.dist-info}/entry_points.txt +0 -0
  153. {netgen_mesher-6.2.2504.post11.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', '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, 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,11 +956,13 @@ class gp_Dir:
947
956
  """
948
957
  3d OCC direction
949
958
  """
959
+ def __getitem__(self, arg0: typing.SupportsInt) -> float:
960
+ ...
950
961
  @typing.overload
951
962
  def __init__(self, arg0: tuple) -> None:
952
963
  ...
953
964
  @typing.overload
954
- def __init__(self, x: float, y: float, z: float) -> None:
965
+ def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> None:
955
966
  ...
956
967
  @typing.overload
957
968
  def __init__(self, arg0: gp_Vec) -> None:
@@ -966,35 +977,32 @@ class gp_Dir2d:
966
977
  def __init__(self, arg0: tuple) -> None:
967
978
  ...
968
979
  @typing.overload
969
- def __init__(self, x: float, y: float) -> None:
980
+ def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat) -> None:
970
981
  ...
971
982
  class gp_GTrsf:
972
983
  def __call__(self, arg0: TopoDS_Shape) -> TopoDS_Shape:
973
984
  ...
974
- 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:
975
986
  ...
976
987
  class gp_Mat:
977
988
  """
978
989
  3d OCC matrix
979
990
  """
980
- def __getitem__(self, arg0: tuple[int, int]) -> float:
991
+ def __getitem__(self, arg0: tuple[typing.SupportsInt, typing.SupportsInt]) -> float:
981
992
  ...
982
993
  class gp_Pnt:
983
994
  """
984
995
  3d OCC point
985
996
  """
986
- x: float
987
- y: float
988
- z: float
989
997
  def __add__(self, arg0: gp_Vec) -> gp_Pnt:
990
998
  ...
991
- def __getitem__(self, arg0: int) -> float:
999
+ def __getitem__(self, arg0: typing.SupportsInt) -> float:
992
1000
  ...
993
1001
  @typing.overload
994
1002
  def __init__(self, arg0: tuple) -> None:
995
1003
  ...
996
1004
  @typing.overload
997
- def __init__(self, x: float, y: float, z: float) -> None:
1005
+ def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> None:
998
1006
  ...
999
1007
  def __repr__(self) -> str:
1000
1008
  ...
@@ -1006,19 +1014,35 @@ class gp_Pnt:
1006
1014
  @typing.overload
1007
1015
  def __sub__(self, arg0: gp_Vec) -> gp_Pnt:
1008
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
+ ...
1009
1035
  class gp_Pnt2d:
1010
1036
  """
1011
1037
  2d OCC point
1012
1038
  """
1013
- x: float
1014
- y: float
1015
1039
  def __add__(self, arg0: gp_Vec2d) -> gp_Pnt2d:
1016
1040
  ...
1017
1041
  @typing.overload
1018
- def __init__(self, arg0: tuple[float, float]) -> None:
1042
+ def __init__(self, arg0: tuple[typing.SupportsFloat, typing.SupportsFloat]) -> None:
1019
1043
  ...
1020
1044
  @typing.overload
1021
- def __init__(self, x: float, y: float) -> None:
1045
+ def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat) -> None:
1022
1046
  ...
1023
1047
  def __repr__(self) -> str:
1024
1048
  ...
@@ -1030,20 +1054,32 @@ class gp_Pnt2d:
1030
1054
  @typing.overload
1031
1055
  def __sub__(self, arg0: gp_Vec2d) -> gp_Pnt2d:
1032
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
+ ...
1033
1069
  class gp_Trsf:
1034
1070
  @staticmethod
1035
1071
  def Mirror(arg0: Axis) -> gp_Trsf:
1036
1072
  ...
1037
1073
  @staticmethod
1038
1074
  @typing.overload
1039
- def Rotation(arg0: Axis, arg1: float) -> gp_Trsf:
1075
+ def Rotation(arg0: Axis, arg1: typing.SupportsFloat) -> gp_Trsf:
1040
1076
  ...
1041
1077
  @staticmethod
1042
1078
  @typing.overload
1043
- 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:
1044
1080
  ...
1045
1081
  @staticmethod
1046
- def Scale(arg0: gp_Pnt, arg1: float) -> gp_Trsf:
1082
+ def Scale(arg0: gp_Pnt, arg1: typing.SupportsFloat) -> gp_Trsf:
1047
1083
  ...
1048
1084
  @staticmethod
1049
1085
  @typing.overload
@@ -1072,29 +1108,26 @@ class gp_Vec:
1072
1108
  """
1073
1109
  3d OCC vector
1074
1110
  """
1075
- x: float
1076
- y: float
1077
- z: float
1078
1111
  def Norm(self) -> float:
1079
1112
  ...
1080
1113
  def __add__(self, arg0: gp_Vec) -> gp_Vec:
1081
1114
  ...
1082
- def __ge__(self, arg0: float) -> ...:
1115
+ def __ge__(self, arg0: typing.SupportsFloat) -> ...:
1083
1116
  ...
1084
- def __gt__(self, arg0: float) -> ...:
1117
+ def __gt__(self, arg0: typing.SupportsFloat) -> ...:
1085
1118
  ...
1086
1119
  @typing.overload
1087
1120
  def __init__(self, arg0: tuple) -> None:
1088
1121
  ...
1089
1122
  @typing.overload
1090
- def __init__(self, x: float, y: float, z: float) -> None:
1123
+ def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> None:
1091
1124
  ...
1092
1125
  @typing.overload
1093
1126
  def __init__(self, arg0: gp_Dir) -> None:
1094
1127
  ...
1095
- def __le__(self, arg0: float) -> ...:
1128
+ def __le__(self, arg0: typing.SupportsFloat) -> ...:
1096
1129
  ...
1097
- def __lt__(self, arg0: float) -> ...:
1130
+ def __lt__(self, arg0: typing.SupportsFloat) -> ...:
1098
1131
  ...
1099
1132
  def __mul__(self, arg0: gp_Vec) -> float:
1100
1133
  ...
@@ -1102,7 +1135,7 @@ class gp_Vec:
1102
1135
  ...
1103
1136
  def __repr__(self) -> str:
1104
1137
  ...
1105
- def __rmul__(self, arg0: float) -> gp_Vec:
1138
+ def __rmul__(self, arg0: typing.SupportsFloat) -> gp_Vec:
1106
1139
  ...
1107
1140
  def __str__(self) -> str:
1108
1141
  ...
@@ -1110,25 +1143,41 @@ class gp_Vec:
1110
1143
  ...
1111
1144
  def __xor__(self, arg0: gp_Vec) -> gp_Vec:
1112
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
+ ...
1113
1164
  class gp_Vec2d:
1114
1165
  """
1115
1166
  2d OCC vector
1116
1167
  """
1117
- x: float
1118
- y: float
1119
1168
  def __add__(self, arg0: gp_Vec2d) -> gp_Vec2d:
1120
1169
  ...
1121
1170
  @typing.overload
1122
1171
  def __init__(self, arg0: tuple) -> None:
1123
1172
  ...
1124
1173
  @typing.overload
1125
- def __init__(self, x: float, y: float) -> None:
1174
+ def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat) -> None:
1126
1175
  ...
1127
1176
  def __neg__(self) -> gp_Vec2d:
1128
1177
  ...
1129
1178
  def __repr__(self: gp_Vec) -> str:
1130
1179
  ...
1131
- def __rmul__(self, arg0: float) -> gp_Vec2d:
1180
+ def __rmul__(self, arg0: typing.SupportsFloat) -> gp_Vec2d:
1132
1181
  ...
1133
1182
  def __str__(self: gp_Vec) -> str:
1134
1183
  ...
@@ -1136,6 +1185,18 @@ class gp_Vec2d:
1136
1185
  ...
1137
1186
  def __xor__(self, arg0: gp_Vec2d) -> float:
1138
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
+ ...
1139
1200
  @typing.overload
1140
1201
  def ArcOfCircle(p1: gp_Pnt, p2: gp_Pnt, p3: gp_Pnt) -> Edge:
1141
1202
  """
@@ -1146,69 +1207,73 @@ def ArcOfCircle(p1: gp_Pnt, v: gp_Vec, p2: gp_Pnt) -> Edge:
1146
1207
  """
1147
1208
  create arc from p1, with tangent vector v, to point p2
1148
1209
  """
1149
- def BSplineCurve(arg0: list[gp_Pnt], arg1: int) -> Edge:
1210
+ def BSplineCurve(arg0: collections.abc.Sequence[gp_Pnt], arg1: typing.SupportsInt) -> Edge:
1150
1211
  ...
1151
- def BezierCurve(points: list[gp_Pnt]) -> Edge:
1212
+ def BezierCurve(points: collections.abc.Sequence[gp_Pnt]) -> Edge:
1152
1213
  """
1153
1214
  create Bezier curve
1154
1215
  """
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:
1217
+ """
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.
1219
+ """
1155
1220
  def Box(p1: gp_Pnt, p2: gp_Pnt) -> Solid:
1156
1221
  """
1157
1222
  create box with opposite points 'p1' and 'p2'
1158
1223
  """
1159
1224
  @typing.overload
1160
- def Circle(c: gp_Pnt2d, r: float) -> Geom2d_Curve:
1225
+ def Circle(c: gp_Pnt2d, r: typing.SupportsFloat) -> Geom2d_Curve:
1161
1226
  """
1162
1227
  create 2d circle curve
1163
1228
  """
1164
1229
  @typing.overload
1165
- def Circle(arg0: gp_Pnt, arg1: gp_Dir, arg2: float) -> Edge:
1230
+ def Circle(arg0: gp_Pnt, arg1: gp_Dir, arg2: typing.SupportsFloat) -> Edge:
1166
1231
  ...
1167
- 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:
1168
1233
  """
1169
1234
  create cone given by axis, radius at bottom (z=0) r1, radius at top (z=h) r2, height and angle
1170
1235
  """
1171
- 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]:
1172
1237
  ...
1173
1238
  @typing.overload
1174
- 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:
1175
1240
  """
1176
1241
  create cylinder with base point 'p', axis direction 'd', radius 'r', and height 'h'
1177
1242
  """
1178
1243
  @typing.overload
1179
- def Cylinder(axis: gp_Ax2, r: float, h: float) -> Solid:
1244
+ def Cylinder(axis: gp_Ax2, r: typing.SupportsFloat, h: typing.SupportsFloat) -> Solid:
1180
1245
  """
1181
1246
  create cylinder given by axis, radius and height
1182
1247
  """
1183
1248
  @typing.overload
1184
- def Dir(x: float, y: float) -> gp_Dir2d:
1249
+ def Dir(x: typing.SupportsFloat, y: typing.SupportsFloat) -> gp_Dir2d:
1185
1250
  """
1186
1251
  create 2d OCC direction
1187
1252
  """
1188
1253
  @typing.overload
1189
- def Dir(x: float, y: float, z: float) -> gp_Dir:
1254
+ def Dir(x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> gp_Dir:
1190
1255
  """
1191
1256
  create 3d OCC direction
1192
1257
  """
1193
1258
  @typing.overload
1194
- def Dir(d: list[float]) -> typing.Any:
1259
+ def Dir(d: collections.abc.Sequence[typing.SupportsFloat]) -> typing.Any:
1195
1260
  """
1196
1261
  create 2d or 3d OCC direction
1197
1262
  """
1198
- 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:
1199
1264
  """
1200
1265
  create 2d ellipse curve
1201
1266
  """
1202
- 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:
1203
1268
  """
1204
1269
  create ellipsoid with local coordinates given by axes, radi 'r1', 'r2', 'r3'
1205
1270
  """
1206
1271
  def From_PyOCC(arg0: typing.Any) -> typing.Any:
1207
1272
  ...
1208
- def Fuse(arg0: list[TopoDS_Shape]) -> TopoDS_Shape:
1273
+ def Fuse(arg0: collections.abc.Sequence[TopoDS_Shape]) -> TopoDS_Shape:
1209
1274
  ...
1210
1275
  @typing.overload
1211
- def Glue(shapes: list[TopoDS_Shape]) -> TopoDS_Shape:
1276
+ def Glue(shapes: collections.abc.Sequence[TopoDS_Shape]) -> TopoDS_Shape:
1212
1277
  """
1213
1278
  glue together shapes of list
1214
1279
  """
@@ -1221,34 +1286,34 @@ def HalfSpace(p: gp_Pnt, n: gp_Vec) -> TopoDS_Shape:
1221
1286
  """
1222
1287
  Create a half space threw point p normal to n
1223
1288
  """
1224
- def LoadOCCGeometry(arg0: os.PathLike) -> netgen.libngpy._meshing.NetgenGeometry:
1289
+ def LoadOCCGeometry(arg0: os.PathLike | str | bytes) -> netgen.libngpy._meshing.NetgenGeometry:
1225
1290
  ...
1226
- 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:
1227
1292
  """
1228
1293
  deprecated, use 'shape.MakeFillet'
1229
1294
  """
1230
- def MakePolygon(arg0: list[Vertex]) -> Wire:
1295
+ def MakePolygon(arg0: collections.abc.Sequence[Vertex]) -> Wire:
1231
1296
  ...
1232
- 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:
1233
1298
  """
1234
1299
  deprecated, use 'shape.MakeThickSolid'
1235
1300
  """
1236
- 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:
1237
1302
  ...
1238
- 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:
1239
1304
  ...
1240
1305
  @typing.overload
1241
- def Pnt(x: float, y: float) -> gp_Pnt2d:
1306
+ def Pnt(x: typing.SupportsFloat, y: typing.SupportsFloat) -> gp_Pnt2d:
1242
1307
  """
1243
1308
  create 2d OCC point
1244
1309
  """
1245
1310
  @typing.overload
1246
- def Pnt(x: float, y: float, z: float) -> gp_Pnt:
1311
+ def Pnt(x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> gp_Pnt:
1247
1312
  """
1248
1313
  create 3d OCC point
1249
1314
  """
1250
1315
  @typing.overload
1251
- def Pnt(p: list[float]) -> typing.Any:
1316
+ def Pnt(p: collections.abc.Sequence[typing.SupportsFloat]) -> typing.Any:
1252
1317
  """
1253
1318
  create 2d or 3d OCC point
1254
1319
  """
@@ -1258,7 +1323,7 @@ def Prism(face: TopoDS_Shape, v: gp_Vec) -> TopoDS_Shape:
1258
1323
  """
1259
1324
  def ResetGlobalShapeProperties() -> None:
1260
1325
  ...
1261
- def Revolve(arg0: TopoDS_Shape, arg1: Axis, arg2: float) -> TopoDS_Shape:
1326
+ def Revolve(arg0: TopoDS_Shape, arg1: Axis, arg2: typing.SupportsFloat) -> TopoDS_Shape:
1262
1327
  ...
1263
1328
  @typing.overload
1264
1329
  def Segment(p1: gp_Pnt2d, p2: gp_Pnt2d) -> Geom2d_Curve:
@@ -1268,12 +1333,32 @@ def Segment(p1: gp_Pnt2d, p2: gp_Pnt2d) -> Geom2d_Curve:
1268
1333
  @typing.overload
1269
1334
  def Segment(arg0: gp_Pnt, arg1: gp_Pnt) -> Edge:
1270
1335
  ...
1271
- 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:
1272
1357
  """
1273
1358
  create sphere with center 'c' and radius 'r'
1274
1359
  """
1275
1360
  @typing.overload
1276
- 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:
1277
1362
  """
1278
1363
  Generate a piecewise continuous spline-curve approximating a list of points in 2d.
1279
1364
 
@@ -1299,7 +1384,7 @@ def SplineApproximation(points: list[gp_Pnt2d], approx_type: ApproxParamType = .
1299
1384
  Tolerance for the distance from individual points to the approximating curve.
1300
1385
  """
1301
1386
  @typing.overload
1302
- 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:
1303
1388
  """
1304
1389
  Generate a piecewise continuous spline-curve approximating a list of points in 3d.
1305
1390
 
@@ -1325,7 +1410,7 @@ def SplineApproximation(points: list[gp_Pnt], approx_type: ApproxParamType = ...
1325
1410
  Tolerance for the distance from individual points to the approximating curve.
1326
1411
  """
1327
1412
  @typing.overload
1328
- 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:
1329
1414
  """
1330
1415
  Generate a piecewise continuous spline-curve interpolating a list of points in 2d.
1331
1416
 
@@ -1345,7 +1430,7 @@ def SplineInterpolation(points: list[gp_Pnt2d], periodic: bool = False, tol: flo
1345
1430
  Tangent vectors for the points indicated by the key value (0-based).
1346
1431
  """
1347
1432
  @typing.overload
1348
- 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:
1349
1434
  """
1350
1435
  Generate a piecewise continuous spline-curve interpolating a list of points in 3d.
1351
1436
 
@@ -1364,7 +1449,7 @@ def SplineInterpolation(points: list[gp_Pnt], periodic: bool = False, tol: float
1364
1449
  tangents : Dict[int, gp_Vec]
1365
1450
  Tangent vectors for the points indicated by the key value (0-based).
1366
1451
  """
1367
- 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:
1368
1453
  """
1369
1454
  Generate a piecewise continuous spline-surface approximating an array of points.
1370
1455
 
@@ -1400,7 +1485,7 @@ def SplineSurfaceApproximation(points: numpy.ndarray[numpy.float64], approx_type
1400
1485
  degen_tol : double
1401
1486
  Tolerance for resolution of degenerate edges
1402
1487
  """
1403
- 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:
1404
1489
  """
1405
1490
  Generate a piecewise continuous spline-surface interpolating an array of points.
1406
1491
 
@@ -1426,22 +1511,22 @@ def SplineSurfaceInterpolation(points: numpy.ndarray[numpy.float64], approx_type
1426
1511
  """
1427
1512
  def TestXCAF(shape: TopoDS_Shape = ...) -> None:
1428
1513
  ...
1429
- 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:
1430
1515
  """
1431
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
1432
1517
  """
1433
1518
  @typing.overload
1434
- def Vec(x: float, y: float) -> gp_Vec2d:
1519
+ def Vec(x: typing.SupportsFloat, y: typing.SupportsFloat) -> gp_Vec2d:
1435
1520
  """
1436
1521
  create 2d OCC point
1437
1522
  """
1438
1523
  @typing.overload
1439
- def Vec(x: float, y: float, z: float) -> gp_Vec:
1524
+ def Vec(x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> gp_Vec:
1440
1525
  """
1441
1526
  create 3d OCC point
1442
1527
  """
1443
1528
  @typing.overload
1444
- def Vec(v: list[float]) -> typing.Any:
1529
+ def Vec(v: collections.abc.Sequence[typing.SupportsFloat]) -> typing.Any:
1445
1530
  """
1446
1531
  create 2d or 3d OCC vector
1447
1532
  """