netgen-mesher 6.2.2506.post35.dev0__cp314-cp314-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 (340) hide show
  1. netgen/NgOCC.py +7 -0
  2. netgen/__init__.py +114 -0
  3. netgen/__init__.pyi +22 -0
  4. netgen/__main__.py +53 -0
  5. netgen/cmake/NetgenConfig.cmake +79 -0
  6. netgen/cmake/netgen-targets-release.cmake +69 -0
  7. netgen/cmake/netgen-targets.cmake +146 -0
  8. netgen/config/__init__.py +1 -0
  9. netgen/config/__init__.pyi +52 -0
  10. netgen/config/__main__.py +4 -0
  11. netgen/config/config.py +68 -0
  12. netgen/config/config.pyi +54 -0
  13. netgen/csg.py +25 -0
  14. netgen/geom2d.py +178 -0
  15. netgen/gui.py +82 -0
  16. netgen/include/core/archive.hpp +1256 -0
  17. netgen/include/core/array.hpp +1760 -0
  18. netgen/include/core/autodiff.hpp +1131 -0
  19. netgen/include/core/autodiffdiff.hpp +733 -0
  20. netgen/include/core/bitarray.hpp +240 -0
  21. netgen/include/core/concurrentqueue.h +3619 -0
  22. netgen/include/core/exception.hpp +145 -0
  23. netgen/include/core/flags.hpp +199 -0
  24. netgen/include/core/hashtable.hpp +1281 -0
  25. netgen/include/core/localheap.hpp +318 -0
  26. netgen/include/core/logging.hpp +117 -0
  27. netgen/include/core/memtracer.hpp +221 -0
  28. netgen/include/core/mpi4py_pycapi.h +245 -0
  29. netgen/include/core/mpi_wrapper.hpp +643 -0
  30. netgen/include/core/ng_mpi.hpp +94 -0
  31. netgen/include/core/ng_mpi_generated_declarations.hpp +155 -0
  32. netgen/include/core/ng_mpi_native.hpp +25 -0
  33. netgen/include/core/ngcore.hpp +32 -0
  34. netgen/include/core/ngcore_api.hpp +152 -0
  35. netgen/include/core/ngstream.hpp +115 -0
  36. netgen/include/core/paje_trace.hpp +279 -0
  37. netgen/include/core/profiler.hpp +382 -0
  38. netgen/include/core/python_ngcore.hpp +457 -0
  39. netgen/include/core/ranges.hpp +109 -0
  40. netgen/include/core/register_archive.hpp +100 -0
  41. netgen/include/core/signal.hpp +82 -0
  42. netgen/include/core/simd.hpp +160 -0
  43. netgen/include/core/simd_arm64.hpp +407 -0
  44. netgen/include/core/simd_avx.hpp +394 -0
  45. netgen/include/core/simd_avx512.hpp +285 -0
  46. netgen/include/core/simd_generic.hpp +1053 -0
  47. netgen/include/core/simd_math.hpp +178 -0
  48. netgen/include/core/simd_sse.hpp +289 -0
  49. netgen/include/core/statushandler.hpp +37 -0
  50. netgen/include/core/symboltable.hpp +153 -0
  51. netgen/include/core/table.hpp +810 -0
  52. netgen/include/core/taskmanager.hpp +1161 -0
  53. netgen/include/core/type_traits.hpp +65 -0
  54. netgen/include/core/utils.hpp +385 -0
  55. netgen/include/core/version.hpp +102 -0
  56. netgen/include/core/xbool.hpp +47 -0
  57. netgen/include/csg/algprim.hpp +563 -0
  58. netgen/include/csg/brick.hpp +150 -0
  59. netgen/include/csg/csg.hpp +43 -0
  60. netgen/include/csg/csgeom.hpp +389 -0
  61. netgen/include/csg/csgparser.hpp +101 -0
  62. netgen/include/csg/curve2d.hpp +67 -0
  63. netgen/include/csg/edgeflw.hpp +112 -0
  64. netgen/include/csg/explicitcurve2d.hpp +113 -0
  65. netgen/include/csg/extrusion.hpp +185 -0
  66. netgen/include/csg/gencyl.hpp +70 -0
  67. netgen/include/csg/geoml.hpp +16 -0
  68. netgen/include/csg/identify.hpp +213 -0
  69. netgen/include/csg/manifold.hpp +29 -0
  70. netgen/include/csg/meshsurf.hpp +46 -0
  71. netgen/include/csg/polyhedra.hpp +121 -0
  72. netgen/include/csg/revolution.hpp +180 -0
  73. netgen/include/csg/singularref.hpp +84 -0
  74. netgen/include/csg/solid.hpp +295 -0
  75. netgen/include/csg/specpoin.hpp +194 -0
  76. netgen/include/csg/spline3d.hpp +99 -0
  77. netgen/include/csg/splinesurface.hpp +85 -0
  78. netgen/include/csg/surface.hpp +394 -0
  79. netgen/include/csg/triapprox.hpp +63 -0
  80. netgen/include/csg/vscsg.hpp +34 -0
  81. netgen/include/general/autodiff.hpp +356 -0
  82. netgen/include/general/autoptr.hpp +39 -0
  83. netgen/include/general/gzstream.h +121 -0
  84. netgen/include/general/hashtabl.hpp +1692 -0
  85. netgen/include/general/myadt.hpp +48 -0
  86. netgen/include/general/mystring.hpp +226 -0
  87. netgen/include/general/netgenout.hpp +205 -0
  88. netgen/include/general/ngarray.hpp +797 -0
  89. netgen/include/general/ngbitarray.hpp +149 -0
  90. netgen/include/general/ngpython.hpp +74 -0
  91. netgen/include/general/optmem.hpp +44 -0
  92. netgen/include/general/parthreads.hpp +138 -0
  93. netgen/include/general/seti.hpp +50 -0
  94. netgen/include/general/sort.hpp +47 -0
  95. netgen/include/general/spbita2d.hpp +59 -0
  96. netgen/include/general/stack.hpp +114 -0
  97. netgen/include/general/table.hpp +280 -0
  98. netgen/include/general/template.hpp +509 -0
  99. netgen/include/geom2d/csg2d.hpp +750 -0
  100. netgen/include/geom2d/geometry2d.hpp +280 -0
  101. netgen/include/geom2d/spline2d.hpp +234 -0
  102. netgen/include/geom2d/vsgeom2d.hpp +28 -0
  103. netgen/include/gprim/adtree.hpp +1392 -0
  104. netgen/include/gprim/geom2d.hpp +858 -0
  105. netgen/include/gprim/geom3d.hpp +749 -0
  106. netgen/include/gprim/geomfuncs.hpp +212 -0
  107. netgen/include/gprim/geomobjects.hpp +544 -0
  108. netgen/include/gprim/geomops.hpp +404 -0
  109. netgen/include/gprim/geomtest3d.hpp +101 -0
  110. netgen/include/gprim/gprim.hpp +33 -0
  111. netgen/include/gprim/spline.hpp +778 -0
  112. netgen/include/gprim/splinegeometry.hpp +73 -0
  113. netgen/include/gprim/transform3d.hpp +216 -0
  114. netgen/include/include/acisgeom.hpp +3 -0
  115. netgen/include/include/csg.hpp +1 -0
  116. netgen/include/include/geometry2d.hpp +1 -0
  117. netgen/include/include/gprim.hpp +1 -0
  118. netgen/include/include/incopengl.hpp +62 -0
  119. netgen/include/include/inctcl.hpp +13 -0
  120. netgen/include/include/incvis.hpp +6 -0
  121. netgen/include/include/linalg.hpp +1 -0
  122. netgen/include/include/meshing.hpp +1 -0
  123. netgen/include/include/myadt.hpp +1 -0
  124. netgen/include/include/mydefs.hpp +70 -0
  125. netgen/include/include/mystdlib.h +59 -0
  126. netgen/include/include/netgen_config.hpp +27 -0
  127. netgen/include/include/netgen_version.hpp +9 -0
  128. netgen/include/include/nginterface_v2_impl.hpp +395 -0
  129. netgen/include/include/ngsimd.hpp +1 -0
  130. netgen/include/include/occgeom.hpp +1 -0
  131. netgen/include/include/opti.hpp +1 -0
  132. netgen/include/include/parallel.hpp +1 -0
  133. netgen/include/include/stlgeom.hpp +1 -0
  134. netgen/include/include/visual.hpp +1 -0
  135. netgen/include/interface/rw_medit.hpp +11 -0
  136. netgen/include/interface/writeuser.hpp +80 -0
  137. netgen/include/linalg/densemat.hpp +414 -0
  138. netgen/include/linalg/linalg.hpp +29 -0
  139. netgen/include/linalg/opti.hpp +142 -0
  140. netgen/include/linalg/polynomial.hpp +47 -0
  141. netgen/include/linalg/vector.hpp +217 -0
  142. netgen/include/meshing/adfront2.hpp +274 -0
  143. netgen/include/meshing/adfront3.hpp +332 -0
  144. netgen/include/meshing/basegeom.hpp +370 -0
  145. netgen/include/meshing/bcfunctions.hpp +53 -0
  146. netgen/include/meshing/bisect.hpp +72 -0
  147. netgen/include/meshing/boundarylayer.hpp +113 -0
  148. netgen/include/meshing/classifyhpel.hpp +1984 -0
  149. netgen/include/meshing/clusters.hpp +46 -0
  150. netgen/include/meshing/curvedelems.hpp +274 -0
  151. netgen/include/meshing/delaunay2d.hpp +73 -0
  152. netgen/include/meshing/fieldlines.hpp +103 -0
  153. netgen/include/meshing/findip.hpp +198 -0
  154. netgen/include/meshing/findip2.hpp +103 -0
  155. netgen/include/meshing/geomsearch.hpp +69 -0
  156. netgen/include/meshing/global.hpp +54 -0
  157. netgen/include/meshing/hpref_hex.hpp +330 -0
  158. netgen/include/meshing/hpref_prism.hpp +3405 -0
  159. netgen/include/meshing/hpref_pyramid.hpp +154 -0
  160. netgen/include/meshing/hpref_quad.hpp +2082 -0
  161. netgen/include/meshing/hpref_segm.hpp +122 -0
  162. netgen/include/meshing/hpref_tet.hpp +4230 -0
  163. netgen/include/meshing/hpref_trig.hpp +848 -0
  164. netgen/include/meshing/hprefinement.hpp +366 -0
  165. netgen/include/meshing/improve2.hpp +178 -0
  166. netgen/include/meshing/improve3.hpp +151 -0
  167. netgen/include/meshing/localh.hpp +223 -0
  168. netgen/include/meshing/meshclass.hpp +1076 -0
  169. netgen/include/meshing/meshfunc.hpp +47 -0
  170. netgen/include/meshing/meshing.hpp +63 -0
  171. netgen/include/meshing/meshing2.hpp +163 -0
  172. netgen/include/meshing/meshing3.hpp +123 -0
  173. netgen/include/meshing/meshtool.hpp +90 -0
  174. netgen/include/meshing/meshtype.hpp +1930 -0
  175. netgen/include/meshing/msghandler.hpp +62 -0
  176. netgen/include/meshing/paralleltop.hpp +172 -0
  177. netgen/include/meshing/python_mesh.hpp +206 -0
  178. netgen/include/meshing/ruler2.hpp +172 -0
  179. netgen/include/meshing/ruler3.hpp +211 -0
  180. netgen/include/meshing/soldata.hpp +141 -0
  181. netgen/include/meshing/specials.hpp +17 -0
  182. netgen/include/meshing/surfacegeom.hpp +73 -0
  183. netgen/include/meshing/topology.hpp +1003 -0
  184. netgen/include/meshing/validate.hpp +21 -0
  185. netgen/include/meshing/visual_interface.hpp +71 -0
  186. netgen/include/mydefs.hpp +70 -0
  187. netgen/include/nginterface.h +474 -0
  188. netgen/include/nginterface_v2.hpp +406 -0
  189. netgen/include/nglib.h +697 -0
  190. netgen/include/nglib_occ.h +50 -0
  191. netgen/include/occ/occ_edge.hpp +47 -0
  192. netgen/include/occ/occ_face.hpp +52 -0
  193. netgen/include/occ/occ_solid.hpp +23 -0
  194. netgen/include/occ/occ_utils.hpp +376 -0
  195. netgen/include/occ/occ_vertex.hpp +30 -0
  196. netgen/include/occ/occgeom.hpp +659 -0
  197. netgen/include/occ/occmeshsurf.hpp +168 -0
  198. netgen/include/occ/vsocc.hpp +33 -0
  199. netgen/include/pybind11/LICENSE +29 -0
  200. netgen/include/pybind11/attr.h +722 -0
  201. netgen/include/pybind11/buffer_info.h +208 -0
  202. netgen/include/pybind11/cast.h +2361 -0
  203. netgen/include/pybind11/chrono.h +228 -0
  204. netgen/include/pybind11/common.h +2 -0
  205. netgen/include/pybind11/complex.h +74 -0
  206. netgen/include/pybind11/conduit/README.txt +15 -0
  207. netgen/include/pybind11/conduit/pybind11_conduit_v1.h +116 -0
  208. netgen/include/pybind11/conduit/pybind11_platform_abi_id.h +87 -0
  209. netgen/include/pybind11/conduit/wrap_include_python_h.h +72 -0
  210. netgen/include/pybind11/critical_section.h +56 -0
  211. netgen/include/pybind11/detail/class.h +823 -0
  212. netgen/include/pybind11/detail/common.h +1348 -0
  213. netgen/include/pybind11/detail/cpp_conduit.h +75 -0
  214. netgen/include/pybind11/detail/descr.h +226 -0
  215. netgen/include/pybind11/detail/dynamic_raw_ptr_cast_if_possible.h +39 -0
  216. netgen/include/pybind11/detail/exception_translation.h +71 -0
  217. netgen/include/pybind11/detail/function_record_pyobject.h +191 -0
  218. netgen/include/pybind11/detail/init.h +538 -0
  219. netgen/include/pybind11/detail/internals.h +799 -0
  220. netgen/include/pybind11/detail/native_enum_data.h +209 -0
  221. netgen/include/pybind11/detail/pybind11_namespace_macros.h +82 -0
  222. netgen/include/pybind11/detail/struct_smart_holder.h +378 -0
  223. netgen/include/pybind11/detail/type_caster_base.h +1591 -0
  224. netgen/include/pybind11/detail/typeid.h +65 -0
  225. netgen/include/pybind11/detail/using_smart_holder.h +22 -0
  226. netgen/include/pybind11/detail/value_and_holder.h +90 -0
  227. netgen/include/pybind11/eigen/common.h +9 -0
  228. netgen/include/pybind11/eigen/matrix.h +723 -0
  229. netgen/include/pybind11/eigen/tensor.h +521 -0
  230. netgen/include/pybind11/eigen.h +12 -0
  231. netgen/include/pybind11/embed.h +320 -0
  232. netgen/include/pybind11/eval.h +161 -0
  233. netgen/include/pybind11/functional.h +147 -0
  234. netgen/include/pybind11/gil.h +199 -0
  235. netgen/include/pybind11/gil_safe_call_once.h +102 -0
  236. netgen/include/pybind11/gil_simple.h +37 -0
  237. netgen/include/pybind11/iostream.h +265 -0
  238. netgen/include/pybind11/native_enum.h +67 -0
  239. netgen/include/pybind11/numpy.h +2312 -0
  240. netgen/include/pybind11/operators.h +202 -0
  241. netgen/include/pybind11/options.h +92 -0
  242. netgen/include/pybind11/pybind11.h +3645 -0
  243. netgen/include/pybind11/pytypes.h +2680 -0
  244. netgen/include/pybind11/stl/filesystem.h +114 -0
  245. netgen/include/pybind11/stl.h +666 -0
  246. netgen/include/pybind11/stl_bind.h +858 -0
  247. netgen/include/pybind11/subinterpreter.h +299 -0
  248. netgen/include/pybind11/trampoline_self_life_support.h +65 -0
  249. netgen/include/pybind11/type_caster_pyobject_ptr.h +61 -0
  250. netgen/include/pybind11/typing.h +298 -0
  251. netgen/include/pybind11/warnings.h +75 -0
  252. netgen/include/stlgeom/meshstlsurface.hpp +67 -0
  253. netgen/include/stlgeom/stlgeom.hpp +491 -0
  254. netgen/include/stlgeom/stlline.hpp +193 -0
  255. netgen/include/stlgeom/stltool.hpp +331 -0
  256. netgen/include/stlgeom/stltopology.hpp +419 -0
  257. netgen/include/stlgeom/vsstl.hpp +58 -0
  258. netgen/include/visualization/meshdoc.hpp +42 -0
  259. netgen/include/visualization/mvdraw.hpp +325 -0
  260. netgen/include/visualization/vispar.hpp +128 -0
  261. netgen/include/visualization/visual.hpp +28 -0
  262. netgen/include/visualization/visual_api.hpp +10 -0
  263. netgen/include/visualization/vssolution.hpp +399 -0
  264. netgen/lib/libnggui.lib +0 -0
  265. netgen/lib/ngcore.lib +0 -0
  266. netgen/lib/nglib.lib +0 -0
  267. netgen/lib/togl.lib +0 -0
  268. netgen/libnggui.dll +0 -0
  269. netgen/libngguipy.lib +0 -0
  270. netgen/libngguipy.pyd +0 -0
  271. netgen/libngpy/_NgOCC.pyi +1545 -0
  272. netgen/libngpy/__init__.pyi +7 -0
  273. netgen/libngpy/_csg.pyi +259 -0
  274. netgen/libngpy/_geom2d.pyi +323 -0
  275. netgen/libngpy/_meshing.pyi +1111 -0
  276. netgen/libngpy/_stl.pyi +131 -0
  277. netgen/libngpy.lib +0 -0
  278. netgen/libngpy.pyd +0 -0
  279. netgen/meshing.py +65 -0
  280. netgen/ngcore.dll +0 -0
  281. netgen/nglib.dll +0 -0
  282. netgen/occ.py +52 -0
  283. netgen/read_gmsh.py +259 -0
  284. netgen/read_meshio.py +22 -0
  285. netgen/stl.py +2 -0
  286. netgen/togl.dll +0 -0
  287. netgen/version.py +2 -0
  288. netgen/webgui.py +529 -0
  289. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/boundarycondition.geo +16 -0
  290. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/boxcyl.geo +32 -0
  291. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/circle_on_cube.geo +27 -0
  292. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cone.geo +13 -0
  293. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cube.geo +16 -0
  294. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubeandring.geo +55 -0
  295. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubeandspheres.geo +21 -0
  296. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubemcyl.geo +18 -0
  297. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubemsphere.geo +19 -0
  298. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cylinder.geo +12 -0
  299. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cylsphere.geo +12 -0
  300. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/doc/ng4.pdf +0 -0
  301. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ellipsoid.geo +8 -0
  302. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ellipticcyl.geo +10 -0
  303. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/extrusion.geo +99 -0
  304. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/fichera.geo +24 -0
  305. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/frame.step +11683 -0
  306. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/hinge.stl +8486 -0
  307. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/lshape3d.geo +26 -0
  308. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/manyholes.geo +26 -0
  309. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/manyholes2.geo +26 -0
  310. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/matrix.geo +27 -0
  311. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ortho.geo +11 -0
  312. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/part1.stl +2662 -0
  313. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/period.geo +33 -0
  314. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/exportNeutral.py +26 -0
  315. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/mesh.py +19 -0
  316. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/shaft.geo +65 -0
  317. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/revolution.geo +18 -0
  318. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/screw.step +1694 -0
  319. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sculpture.geo +13 -0
  320. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/shaft.geo +65 -0
  321. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/shell.geo +10 -0
  322. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sphere.geo +8 -0
  323. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sphereincube.geo +17 -0
  324. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/square.in2d +35 -0
  325. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/squarecircle.in2d +48 -0
  326. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/squarehole.in2d +47 -0
  327. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/torus.geo +8 -0
  328. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/trafo.geo +57 -0
  329. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twobricks.geo +15 -0
  330. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twocubes.geo +18 -0
  331. netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twocyl.geo +16 -0
  332. netgen_mesher-6.2.2506.post35.dev0.dist-info/METADATA +15 -0
  333. netgen_mesher-6.2.2506.post35.dev0.dist-info/RECORD +340 -0
  334. netgen_mesher-6.2.2506.post35.dev0.dist-info/WHEEL +5 -0
  335. netgen_mesher-6.2.2506.post35.dev0.dist-info/entry_points.txt +2 -0
  336. netgen_mesher-6.2.2506.post35.dev0.dist-info/licenses/AUTHORS +1 -0
  337. netgen_mesher-6.2.2506.post35.dev0.dist-info/licenses/LICENSE +504 -0
  338. netgen_mesher-6.2.2506.post35.dev0.dist-info/top_level.txt +2 -0
  339. pyngcore/__init__.py +1 -0
  340. pyngcore/pyngcore.cp314-win_amd64.pyd +0 -0
@@ -0,0 +1,298 @@
1
+ /*
2
+ pybind11/typing.h: Convenience wrapper classes for basic Python types
3
+ with more explicit annotations.
4
+
5
+ Copyright (c) 2023 Dustin Spicuzza <dustin@virtualroadside.com>
6
+
7
+ All rights reserved. Use of this source code is governed by a
8
+ BSD-style license that can be found in the LICENSE file.
9
+ */
10
+
11
+ #pragma once
12
+
13
+ #include "detail/common.h"
14
+ #include "cast.h"
15
+ #include "pytypes.h"
16
+
17
+ #include <algorithm>
18
+
19
+ #if defined(__cpp_nontype_template_args) && __cpp_nontype_template_args >= 201911L
20
+ # define PYBIND11_TYPING_H_HAS_STRING_LITERAL
21
+ # include <numeric>
22
+ # include <ranges>
23
+ # include <string_view>
24
+ #endif
25
+
26
+ PYBIND11_NAMESPACE_BEGIN(PYBIND11_NAMESPACE)
27
+ PYBIND11_NAMESPACE_BEGIN(typing)
28
+
29
+ /*
30
+ The following types can be used to direct pybind11-generated docstrings
31
+ to have have more explicit types (e.g., `list[str]` instead of `list`).
32
+ Just use these in place of existing types.
33
+
34
+ There is no additional enforcement of types at runtime.
35
+ */
36
+
37
+ template <typename... Types>
38
+ class Tuple : public tuple {
39
+ using tuple::tuple;
40
+ };
41
+
42
+ template <typename K, typename V>
43
+ class Dict : public dict {
44
+ using dict::dict;
45
+ };
46
+
47
+ template <typename T>
48
+ class List : public list {
49
+ using list::list;
50
+ };
51
+
52
+ template <typename T>
53
+ class Set : public set {
54
+ using set::set;
55
+ };
56
+
57
+ template <typename T>
58
+ class Iterable : public iterable {
59
+ using iterable::iterable;
60
+ };
61
+
62
+ template <typename T>
63
+ class Iterator : public iterator {
64
+ using iterator::iterator;
65
+ };
66
+
67
+ template <typename Signature>
68
+ class Callable;
69
+
70
+ template <typename Return, typename... Args>
71
+ class Callable<Return(Args...)> : public function {
72
+ using function::function;
73
+ };
74
+
75
+ template <typename T>
76
+ class Type : public type {
77
+ using type::type;
78
+ };
79
+
80
+ template <typename... Types>
81
+ class Union : public object {
82
+ PYBIND11_OBJECT_DEFAULT(Union, object, PyObject_Type)
83
+ using object::object;
84
+ };
85
+
86
+ template <typename T>
87
+ class Optional : public object {
88
+ PYBIND11_OBJECT_DEFAULT(Optional, object, PyObject_Type)
89
+ using object::object;
90
+ };
91
+
92
+ template <typename T>
93
+ class Final : public object {
94
+ PYBIND11_OBJECT_DEFAULT(Final, object, PyObject_Type)
95
+ using object::object;
96
+ };
97
+
98
+ template <typename T>
99
+ class ClassVar : public object {
100
+ PYBIND11_OBJECT_DEFAULT(ClassVar, object, PyObject_Type)
101
+ using object::object;
102
+ };
103
+
104
+ template <typename T>
105
+ class TypeGuard : public bool_ {
106
+ using bool_::bool_;
107
+ };
108
+
109
+ template <typename T>
110
+ class TypeIs : public bool_ {
111
+ using bool_::bool_;
112
+ };
113
+
114
+ class NoReturn : public none {
115
+ using none::none;
116
+ };
117
+
118
+ class Never : public none {
119
+ using none::none;
120
+ };
121
+
122
+ #if defined(PYBIND11_TYPING_H_HAS_STRING_LITERAL)
123
+ template <size_t N>
124
+ struct StringLiteral {
125
+ constexpr StringLiteral(const char (&str)[N]) { std::copy_n(str, N, name); }
126
+ char name[N];
127
+ };
128
+
129
+ template <StringLiteral... StrLits>
130
+ class Literal : public object {
131
+ PYBIND11_OBJECT_DEFAULT(Literal, object, PyObject_Type)
132
+ };
133
+
134
+ // Example syntax for creating a TypeVar.
135
+ // typedef typing::TypeVar<"T"> TypeVarT;
136
+ template <StringLiteral>
137
+ class TypeVar : public object {
138
+ PYBIND11_OBJECT_DEFAULT(TypeVar, object, PyObject_Type)
139
+ using object::object;
140
+ };
141
+ #endif
142
+
143
+ PYBIND11_NAMESPACE_END(typing)
144
+
145
+ PYBIND11_NAMESPACE_BEGIN(detail)
146
+
147
+ template <typename... Types>
148
+ struct handle_type_name<typing::Tuple<Types...>> {
149
+ static constexpr auto name = const_name("tuple[")
150
+ + ::pybind11::detail::concat(make_caster<Types>::name...)
151
+ + const_name("]");
152
+ };
153
+
154
+ template <>
155
+ struct handle_type_name<typing::Tuple<>> {
156
+ // PEP 484 specifies this syntax for an empty tuple
157
+ static constexpr auto name = const_name("tuple[()]");
158
+ };
159
+
160
+ template <typename T>
161
+ struct handle_type_name<typing::Tuple<T, ellipsis>> {
162
+ // PEP 484 specifies this syntax for a variable-length tuple
163
+ static constexpr auto name
164
+ = const_name("tuple[") + make_caster<T>::name + const_name(", ...]");
165
+ };
166
+
167
+ template <typename K, typename V>
168
+ struct handle_type_name<typing::Dict<K, V>> {
169
+ static constexpr auto name = const_name("dict[") + make_caster<K>::name + const_name(", ")
170
+ + make_caster<V>::name + const_name("]");
171
+ };
172
+
173
+ template <typename T>
174
+ struct handle_type_name<typing::List<T>> {
175
+ static constexpr auto name = const_name("list[") + make_caster<T>::name + const_name("]");
176
+ };
177
+
178
+ template <typename T>
179
+ struct handle_type_name<typing::Set<T>> {
180
+ static constexpr auto name = const_name("set[") + make_caster<T>::name + const_name("]");
181
+ };
182
+
183
+ template <typename T>
184
+ struct handle_type_name<typing::Iterable<T>> {
185
+ static constexpr auto name
186
+ = const_name("collections.abc.Iterable[") + make_caster<T>::name + const_name("]");
187
+ };
188
+
189
+ template <typename T>
190
+ struct handle_type_name<typing::Iterator<T>> {
191
+ static constexpr auto name
192
+ = const_name("collections.abc.Iterator[") + make_caster<T>::name + const_name("]");
193
+ };
194
+
195
+ template <typename Return, typename... Args>
196
+ struct handle_type_name<typing::Callable<Return(Args...)>> {
197
+ using retval_type = conditional_t<std::is_same<Return, void>::value, void_type, Return>;
198
+ static constexpr auto name
199
+ = const_name("collections.abc.Callable[[")
200
+ + ::pybind11::detail::concat(::pybind11::detail::arg_descr(make_caster<Args>::name)...)
201
+ + const_name("], ") + ::pybind11::detail::return_descr(make_caster<retval_type>::name)
202
+ + const_name("]");
203
+ };
204
+
205
+ template <typename Return>
206
+ struct handle_type_name<typing::Callable<Return(ellipsis)>> {
207
+ // PEP 484 specifies this syntax for defining only return types of callables
208
+ using retval_type = conditional_t<std::is_same<Return, void>::value, void_type, Return>;
209
+ static constexpr auto name = const_name("collections.abc.Callable[..., ")
210
+ + ::pybind11::detail::return_descr(make_caster<retval_type>::name)
211
+ + const_name("]");
212
+ };
213
+
214
+ template <typename T>
215
+ struct handle_type_name<typing::Type<T>> {
216
+ static constexpr auto name = const_name("type[") + make_caster<T>::name + const_name("]");
217
+ };
218
+
219
+ template <typename... Types>
220
+ struct handle_type_name<typing::Union<Types...>> {
221
+ static constexpr auto name = ::pybind11::detail::union_concat(make_caster<Types>::name...);
222
+ };
223
+
224
+ template <typename T>
225
+ struct handle_type_name<typing::Optional<T>> {
226
+ static constexpr auto name = make_caster<T>::name | make_caster<none>::name;
227
+ };
228
+
229
+ template <typename T>
230
+ struct handle_type_name<typing::Final<T>> {
231
+ static constexpr auto name = const_name("typing.Final[")
232
+ + ::pybind11::detail::return_descr(make_caster<T>::name)
233
+ + const_name("]");
234
+ };
235
+
236
+ template <typename T>
237
+ struct handle_type_name<typing::ClassVar<T>> {
238
+ static constexpr auto name
239
+ = const_name("typing.ClassVar[") + make_caster<T>::name + const_name("]");
240
+ };
241
+
242
+ template <typename T>
243
+ struct handle_type_name<typing::TypeGuard<T>> {
244
+ static constexpr auto name = const_name(PYBIND11_TYPE_GUARD_TYPE_HINT) + const_name("[")
245
+ + make_caster<T>::name + const_name("]");
246
+ };
247
+
248
+ template <typename T>
249
+ struct handle_type_name<typing::TypeIs<T>> {
250
+ static constexpr auto name = const_name(PYBIND11_TYPE_IS_TYPE_HINT) + const_name("[")
251
+ + make_caster<T>::name + const_name("]");
252
+ };
253
+
254
+ template <>
255
+ struct handle_type_name<typing::NoReturn> {
256
+ static constexpr auto name = const_name("typing.NoReturn");
257
+ };
258
+
259
+ template <>
260
+ struct handle_type_name<typing::Never> {
261
+ static constexpr auto name = const_name(PYBIND11_NEVER_TYPE_HINT);
262
+ };
263
+
264
+ #if defined(PYBIND11_TYPING_H_HAS_STRING_LITERAL)
265
+ template <typing::StringLiteral StrLit>
266
+ consteval auto sanitize_string_literal() {
267
+ constexpr std::string_view v(StrLit.name);
268
+ constexpr std::string_view special_chars("!@%{}-");
269
+ constexpr auto num_special_chars = std::accumulate(
270
+ special_chars.begin(), special_chars.end(), (size_t) 0, [&v](auto acc, const char &c) {
271
+ return std::move(acc) + std::ranges::count(v, c);
272
+ });
273
+ char result[v.size() + num_special_chars + 1];
274
+ size_t i = 0;
275
+ for (auto c : StrLit.name) {
276
+ if (special_chars.find(c) != std::string_view::npos) {
277
+ result[i++] = '!';
278
+ }
279
+ result[i++] = c;
280
+ }
281
+ return typing::StringLiteral(result);
282
+ }
283
+
284
+ template <typing::StringLiteral... Literals>
285
+ struct handle_type_name<typing::Literal<Literals...>> {
286
+ static constexpr auto name
287
+ = const_name("typing.Literal[")
288
+ + pybind11::detail::concat(const_name(sanitize_string_literal<Literals>().name)...)
289
+ + const_name("]");
290
+ };
291
+ template <typing::StringLiteral StrLit>
292
+ struct handle_type_name<typing::TypeVar<StrLit>> {
293
+ static constexpr auto name = const_name(sanitize_string_literal<StrLit>().name);
294
+ };
295
+ #endif
296
+
297
+ PYBIND11_NAMESPACE_END(detail)
298
+ PYBIND11_NAMESPACE_END(PYBIND11_NAMESPACE)
@@ -0,0 +1,75 @@
1
+ /*
2
+ pybind11/warnings.h: Python warnings wrappers.
3
+
4
+ Copyright (c) 2024 Jan Iwaszkiewicz <jiwaszkiewicz6@gmail.com>
5
+
6
+ All rights reserved. Use of this source code is governed by a
7
+ BSD-style license that can be found in the LICENSE file.
8
+ */
9
+
10
+ #pragma once
11
+
12
+ #include "pybind11.h"
13
+ #include "detail/common.h"
14
+
15
+ PYBIND11_NAMESPACE_BEGIN(PYBIND11_NAMESPACE)
16
+
17
+ PYBIND11_NAMESPACE_BEGIN(detail)
18
+
19
+ inline bool PyWarning_Check(PyObject *obj) {
20
+ int result = PyObject_IsSubclass(obj, PyExc_Warning);
21
+ if (result == 1) {
22
+ return true;
23
+ }
24
+ if (result == -1) {
25
+ raise_from(PyExc_SystemError,
26
+ "pybind11::detail::PyWarning_Check(): PyObject_IsSubclass() call failed.");
27
+ throw error_already_set();
28
+ }
29
+ return false;
30
+ }
31
+
32
+ PYBIND11_NAMESPACE_END(detail)
33
+
34
+ PYBIND11_NAMESPACE_BEGIN(warnings)
35
+
36
+ inline object
37
+ new_warning_type(handle scope, const char *name, handle base = PyExc_RuntimeWarning) {
38
+ if (!detail::PyWarning_Check(base.ptr())) {
39
+ pybind11_fail("pybind11::warnings::new_warning_type(): cannot create custom warning, base "
40
+ "must be a subclass of "
41
+ "PyExc_Warning!");
42
+ }
43
+ if (hasattr(scope, name)) {
44
+ pybind11_fail("pybind11::warnings::new_warning_type(): an attribute with name \""
45
+ + std::string(name) + "\" exists already.");
46
+ }
47
+ std::string full_name = scope.attr("__name__").cast<std::string>() + std::string(".") + name;
48
+ handle h(PyErr_NewException(full_name.c_str(), base.ptr(), nullptr));
49
+ if (!h) {
50
+ raise_from(PyExc_SystemError,
51
+ "pybind11::warnings::new_warning_type(): PyErr_NewException() call failed.");
52
+ throw error_already_set();
53
+ }
54
+ auto obj = reinterpret_steal<object>(h);
55
+ scope.attr(name) = obj;
56
+ return obj;
57
+ }
58
+
59
+ // Similar to Python `warnings.warn()`
60
+ inline void
61
+ warn(const char *message, handle category = PyExc_RuntimeWarning, int stack_level = 2) {
62
+ if (!detail::PyWarning_Check(category.ptr())) {
63
+ pybind11_fail(
64
+ "pybind11::warnings::warn(): cannot raise warning, category must be a subclass of "
65
+ "PyExc_Warning!");
66
+ }
67
+
68
+ if (PyErr_WarnEx(category.ptr(), message, stack_level) == -1) {
69
+ throw error_already_set();
70
+ }
71
+ }
72
+
73
+ PYBIND11_NAMESPACE_END(warnings)
74
+
75
+ PYBIND11_NAMESPACE_END(PYBIND11_NAMESPACE)
@@ -0,0 +1,67 @@
1
+ #ifndef FILE_MESHSTLSURF
2
+ #define FILE_MESHSTLSURF
3
+
4
+ /* *************************************************************************/
5
+ /* File: meshstlsurf.hpp */
6
+ /* Author: Johannes Gerstmayr, Joachim Schoeberl */
7
+ /* Date: 01. Aug. 99 */
8
+ /* *************************************************************************/
9
+
10
+ /*
11
+
12
+ The interface between mesh generation and stl geometry
13
+
14
+ */
15
+
16
+
17
+ ///
18
+ class MeshingSTLSurface : public Meshing2
19
+ {
20
+ ///
21
+ STLGeometry & geom;
22
+ ///
23
+ int transformationtrig;
24
+ public:
25
+ ///
26
+ MeshingSTLSurface (STLGeometry & ageom, const MeshingParameters & mp);
27
+
28
+ protected:
29
+ ///
30
+ void DefineTransformation (const Point<3> & p1, const Point<3> & p2,
31
+ const PointGeomInfo * geominfo1,
32
+ const PointGeomInfo * geominfo2) override;
33
+ ///
34
+ void TransformToPlain (const Point<3> & locpoint, const MultiPointGeomInfo & geominfo,
35
+ Point<2> & plainpoint, double h, int & zone) override;
36
+ ///
37
+ int TransformFromPlain (const Point<2>& plainpoint,
38
+ Point<3> & locpoint,
39
+ PointGeomInfo & gi,
40
+ double h) override;
41
+ ///
42
+ int BelongsToActiveChart (const Point3d & p,
43
+ const PointGeomInfo & gi) override;
44
+
45
+ ///
46
+ int ComputePointGeomInfo (const Point3d & p, PointGeomInfo & gi) override;
47
+ ///
48
+ int ChooseChartPointGeomInfo (const MultiPointGeomInfo & mpgi,
49
+ PointGeomInfo & pgi) override;
50
+
51
+ ///
52
+ int IsLineVertexOnChart (const Point3d & p1, const Point3d & p2,
53
+ int endpoint, const PointGeomInfo & gi) override;
54
+
55
+ void GetChartBoundary (NgArray<Point<2>> & points,
56
+ NgArray<Point<3>> & poitns3d,
57
+ NgArray<INDEX_2> & lines, double h) const override;
58
+
59
+ ///
60
+ double CalcLocalH (const Point<3> & p, double gh) const override;
61
+
62
+ ///
63
+ double Area () const override;
64
+ };
65
+
66
+ #endif
67
+