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.
- netgen/NgOCC.py +7 -0
- netgen/__init__.py +114 -0
- netgen/__init__.pyi +22 -0
- netgen/__main__.py +53 -0
- netgen/cmake/NetgenConfig.cmake +79 -0
- netgen/cmake/netgen-targets-release.cmake +69 -0
- netgen/cmake/netgen-targets.cmake +146 -0
- netgen/config/__init__.py +1 -0
- netgen/config/__init__.pyi +52 -0
- netgen/config/__main__.py +4 -0
- netgen/config/config.py +68 -0
- netgen/config/config.pyi +54 -0
- netgen/csg.py +25 -0
- netgen/geom2d.py +178 -0
- netgen/gui.py +82 -0
- netgen/include/core/archive.hpp +1256 -0
- netgen/include/core/array.hpp +1760 -0
- netgen/include/core/autodiff.hpp +1131 -0
- netgen/include/core/autodiffdiff.hpp +733 -0
- netgen/include/core/bitarray.hpp +240 -0
- netgen/include/core/concurrentqueue.h +3619 -0
- netgen/include/core/exception.hpp +145 -0
- netgen/include/core/flags.hpp +199 -0
- netgen/include/core/hashtable.hpp +1281 -0
- netgen/include/core/localheap.hpp +318 -0
- netgen/include/core/logging.hpp +117 -0
- netgen/include/core/memtracer.hpp +221 -0
- netgen/include/core/mpi4py_pycapi.h +245 -0
- netgen/include/core/mpi_wrapper.hpp +643 -0
- netgen/include/core/ng_mpi.hpp +94 -0
- netgen/include/core/ng_mpi_generated_declarations.hpp +155 -0
- netgen/include/core/ng_mpi_native.hpp +25 -0
- netgen/include/core/ngcore.hpp +32 -0
- netgen/include/core/ngcore_api.hpp +152 -0
- netgen/include/core/ngstream.hpp +115 -0
- netgen/include/core/paje_trace.hpp +279 -0
- netgen/include/core/profiler.hpp +382 -0
- netgen/include/core/python_ngcore.hpp +457 -0
- netgen/include/core/ranges.hpp +109 -0
- netgen/include/core/register_archive.hpp +100 -0
- netgen/include/core/signal.hpp +82 -0
- netgen/include/core/simd.hpp +160 -0
- netgen/include/core/simd_arm64.hpp +407 -0
- netgen/include/core/simd_avx.hpp +394 -0
- netgen/include/core/simd_avx512.hpp +285 -0
- netgen/include/core/simd_generic.hpp +1053 -0
- netgen/include/core/simd_math.hpp +178 -0
- netgen/include/core/simd_sse.hpp +289 -0
- netgen/include/core/statushandler.hpp +37 -0
- netgen/include/core/symboltable.hpp +153 -0
- netgen/include/core/table.hpp +810 -0
- netgen/include/core/taskmanager.hpp +1161 -0
- netgen/include/core/type_traits.hpp +65 -0
- netgen/include/core/utils.hpp +385 -0
- netgen/include/core/version.hpp +102 -0
- netgen/include/core/xbool.hpp +47 -0
- netgen/include/csg/algprim.hpp +563 -0
- netgen/include/csg/brick.hpp +150 -0
- netgen/include/csg/csg.hpp +43 -0
- netgen/include/csg/csgeom.hpp +389 -0
- netgen/include/csg/csgparser.hpp +101 -0
- netgen/include/csg/curve2d.hpp +67 -0
- netgen/include/csg/edgeflw.hpp +112 -0
- netgen/include/csg/explicitcurve2d.hpp +113 -0
- netgen/include/csg/extrusion.hpp +185 -0
- netgen/include/csg/gencyl.hpp +70 -0
- netgen/include/csg/geoml.hpp +16 -0
- netgen/include/csg/identify.hpp +213 -0
- netgen/include/csg/manifold.hpp +29 -0
- netgen/include/csg/meshsurf.hpp +46 -0
- netgen/include/csg/polyhedra.hpp +121 -0
- netgen/include/csg/revolution.hpp +180 -0
- netgen/include/csg/singularref.hpp +84 -0
- netgen/include/csg/solid.hpp +295 -0
- netgen/include/csg/specpoin.hpp +194 -0
- netgen/include/csg/spline3d.hpp +99 -0
- netgen/include/csg/splinesurface.hpp +85 -0
- netgen/include/csg/surface.hpp +394 -0
- netgen/include/csg/triapprox.hpp +63 -0
- netgen/include/csg/vscsg.hpp +34 -0
- netgen/include/general/autodiff.hpp +356 -0
- netgen/include/general/autoptr.hpp +39 -0
- netgen/include/general/gzstream.h +121 -0
- netgen/include/general/hashtabl.hpp +1692 -0
- netgen/include/general/myadt.hpp +48 -0
- netgen/include/general/mystring.hpp +226 -0
- netgen/include/general/netgenout.hpp +205 -0
- netgen/include/general/ngarray.hpp +797 -0
- netgen/include/general/ngbitarray.hpp +149 -0
- netgen/include/general/ngpython.hpp +74 -0
- netgen/include/general/optmem.hpp +44 -0
- netgen/include/general/parthreads.hpp +138 -0
- netgen/include/general/seti.hpp +50 -0
- netgen/include/general/sort.hpp +47 -0
- netgen/include/general/spbita2d.hpp +59 -0
- netgen/include/general/stack.hpp +114 -0
- netgen/include/general/table.hpp +280 -0
- netgen/include/general/template.hpp +509 -0
- netgen/include/geom2d/csg2d.hpp +750 -0
- netgen/include/geom2d/geometry2d.hpp +280 -0
- netgen/include/geom2d/spline2d.hpp +234 -0
- netgen/include/geom2d/vsgeom2d.hpp +28 -0
- netgen/include/gprim/adtree.hpp +1392 -0
- netgen/include/gprim/geom2d.hpp +858 -0
- netgen/include/gprim/geom3d.hpp +749 -0
- netgen/include/gprim/geomfuncs.hpp +212 -0
- netgen/include/gprim/geomobjects.hpp +544 -0
- netgen/include/gprim/geomops.hpp +404 -0
- netgen/include/gprim/geomtest3d.hpp +101 -0
- netgen/include/gprim/gprim.hpp +33 -0
- netgen/include/gprim/spline.hpp +778 -0
- netgen/include/gprim/splinegeometry.hpp +73 -0
- netgen/include/gprim/transform3d.hpp +216 -0
- netgen/include/include/acisgeom.hpp +3 -0
- netgen/include/include/csg.hpp +1 -0
- netgen/include/include/geometry2d.hpp +1 -0
- netgen/include/include/gprim.hpp +1 -0
- netgen/include/include/incopengl.hpp +62 -0
- netgen/include/include/inctcl.hpp +13 -0
- netgen/include/include/incvis.hpp +6 -0
- netgen/include/include/linalg.hpp +1 -0
- netgen/include/include/meshing.hpp +1 -0
- netgen/include/include/myadt.hpp +1 -0
- netgen/include/include/mydefs.hpp +70 -0
- netgen/include/include/mystdlib.h +59 -0
- netgen/include/include/netgen_config.hpp +27 -0
- netgen/include/include/netgen_version.hpp +9 -0
- netgen/include/include/nginterface_v2_impl.hpp +395 -0
- netgen/include/include/ngsimd.hpp +1 -0
- netgen/include/include/occgeom.hpp +1 -0
- netgen/include/include/opti.hpp +1 -0
- netgen/include/include/parallel.hpp +1 -0
- netgen/include/include/stlgeom.hpp +1 -0
- netgen/include/include/visual.hpp +1 -0
- netgen/include/interface/rw_medit.hpp +11 -0
- netgen/include/interface/writeuser.hpp +80 -0
- netgen/include/linalg/densemat.hpp +414 -0
- netgen/include/linalg/linalg.hpp +29 -0
- netgen/include/linalg/opti.hpp +142 -0
- netgen/include/linalg/polynomial.hpp +47 -0
- netgen/include/linalg/vector.hpp +217 -0
- netgen/include/meshing/adfront2.hpp +274 -0
- netgen/include/meshing/adfront3.hpp +332 -0
- netgen/include/meshing/basegeom.hpp +370 -0
- netgen/include/meshing/bcfunctions.hpp +53 -0
- netgen/include/meshing/bisect.hpp +72 -0
- netgen/include/meshing/boundarylayer.hpp +113 -0
- netgen/include/meshing/classifyhpel.hpp +1984 -0
- netgen/include/meshing/clusters.hpp +46 -0
- netgen/include/meshing/curvedelems.hpp +274 -0
- netgen/include/meshing/delaunay2d.hpp +73 -0
- netgen/include/meshing/fieldlines.hpp +103 -0
- netgen/include/meshing/findip.hpp +198 -0
- netgen/include/meshing/findip2.hpp +103 -0
- netgen/include/meshing/geomsearch.hpp +69 -0
- netgen/include/meshing/global.hpp +54 -0
- netgen/include/meshing/hpref_hex.hpp +330 -0
- netgen/include/meshing/hpref_prism.hpp +3405 -0
- netgen/include/meshing/hpref_pyramid.hpp +154 -0
- netgen/include/meshing/hpref_quad.hpp +2082 -0
- netgen/include/meshing/hpref_segm.hpp +122 -0
- netgen/include/meshing/hpref_tet.hpp +4230 -0
- netgen/include/meshing/hpref_trig.hpp +848 -0
- netgen/include/meshing/hprefinement.hpp +366 -0
- netgen/include/meshing/improve2.hpp +178 -0
- netgen/include/meshing/improve3.hpp +151 -0
- netgen/include/meshing/localh.hpp +223 -0
- netgen/include/meshing/meshclass.hpp +1076 -0
- netgen/include/meshing/meshfunc.hpp +47 -0
- netgen/include/meshing/meshing.hpp +63 -0
- netgen/include/meshing/meshing2.hpp +163 -0
- netgen/include/meshing/meshing3.hpp +123 -0
- netgen/include/meshing/meshtool.hpp +90 -0
- netgen/include/meshing/meshtype.hpp +1930 -0
- netgen/include/meshing/msghandler.hpp +62 -0
- netgen/include/meshing/paralleltop.hpp +172 -0
- netgen/include/meshing/python_mesh.hpp +206 -0
- netgen/include/meshing/ruler2.hpp +172 -0
- netgen/include/meshing/ruler3.hpp +211 -0
- netgen/include/meshing/soldata.hpp +141 -0
- netgen/include/meshing/specials.hpp +17 -0
- netgen/include/meshing/surfacegeom.hpp +73 -0
- netgen/include/meshing/topology.hpp +1003 -0
- netgen/include/meshing/validate.hpp +21 -0
- netgen/include/meshing/visual_interface.hpp +71 -0
- netgen/include/mydefs.hpp +70 -0
- netgen/include/nginterface.h +474 -0
- netgen/include/nginterface_v2.hpp +406 -0
- netgen/include/nglib.h +697 -0
- netgen/include/nglib_occ.h +50 -0
- netgen/include/occ/occ_edge.hpp +47 -0
- netgen/include/occ/occ_face.hpp +52 -0
- netgen/include/occ/occ_solid.hpp +23 -0
- netgen/include/occ/occ_utils.hpp +376 -0
- netgen/include/occ/occ_vertex.hpp +30 -0
- netgen/include/occ/occgeom.hpp +659 -0
- netgen/include/occ/occmeshsurf.hpp +168 -0
- netgen/include/occ/vsocc.hpp +33 -0
- netgen/include/pybind11/LICENSE +29 -0
- netgen/include/pybind11/attr.h +722 -0
- netgen/include/pybind11/buffer_info.h +208 -0
- netgen/include/pybind11/cast.h +2361 -0
- netgen/include/pybind11/chrono.h +228 -0
- netgen/include/pybind11/common.h +2 -0
- netgen/include/pybind11/complex.h +74 -0
- netgen/include/pybind11/conduit/README.txt +15 -0
- netgen/include/pybind11/conduit/pybind11_conduit_v1.h +116 -0
- netgen/include/pybind11/conduit/pybind11_platform_abi_id.h +87 -0
- netgen/include/pybind11/conduit/wrap_include_python_h.h +72 -0
- netgen/include/pybind11/critical_section.h +56 -0
- netgen/include/pybind11/detail/class.h +823 -0
- netgen/include/pybind11/detail/common.h +1348 -0
- netgen/include/pybind11/detail/cpp_conduit.h +75 -0
- netgen/include/pybind11/detail/descr.h +226 -0
- netgen/include/pybind11/detail/dynamic_raw_ptr_cast_if_possible.h +39 -0
- netgen/include/pybind11/detail/exception_translation.h +71 -0
- netgen/include/pybind11/detail/function_record_pyobject.h +191 -0
- netgen/include/pybind11/detail/init.h +538 -0
- netgen/include/pybind11/detail/internals.h +799 -0
- netgen/include/pybind11/detail/native_enum_data.h +209 -0
- netgen/include/pybind11/detail/pybind11_namespace_macros.h +82 -0
- netgen/include/pybind11/detail/struct_smart_holder.h +378 -0
- netgen/include/pybind11/detail/type_caster_base.h +1591 -0
- netgen/include/pybind11/detail/typeid.h +65 -0
- netgen/include/pybind11/detail/using_smart_holder.h +22 -0
- netgen/include/pybind11/detail/value_and_holder.h +90 -0
- netgen/include/pybind11/eigen/common.h +9 -0
- netgen/include/pybind11/eigen/matrix.h +723 -0
- netgen/include/pybind11/eigen/tensor.h +521 -0
- netgen/include/pybind11/eigen.h +12 -0
- netgen/include/pybind11/embed.h +320 -0
- netgen/include/pybind11/eval.h +161 -0
- netgen/include/pybind11/functional.h +147 -0
- netgen/include/pybind11/gil.h +199 -0
- netgen/include/pybind11/gil_safe_call_once.h +102 -0
- netgen/include/pybind11/gil_simple.h +37 -0
- netgen/include/pybind11/iostream.h +265 -0
- netgen/include/pybind11/native_enum.h +67 -0
- netgen/include/pybind11/numpy.h +2312 -0
- netgen/include/pybind11/operators.h +202 -0
- netgen/include/pybind11/options.h +92 -0
- netgen/include/pybind11/pybind11.h +3645 -0
- netgen/include/pybind11/pytypes.h +2680 -0
- netgen/include/pybind11/stl/filesystem.h +114 -0
- netgen/include/pybind11/stl.h +666 -0
- netgen/include/pybind11/stl_bind.h +858 -0
- netgen/include/pybind11/subinterpreter.h +299 -0
- netgen/include/pybind11/trampoline_self_life_support.h +65 -0
- netgen/include/pybind11/type_caster_pyobject_ptr.h +61 -0
- netgen/include/pybind11/typing.h +298 -0
- netgen/include/pybind11/warnings.h +75 -0
- netgen/include/stlgeom/meshstlsurface.hpp +67 -0
- netgen/include/stlgeom/stlgeom.hpp +491 -0
- netgen/include/stlgeom/stlline.hpp +193 -0
- netgen/include/stlgeom/stltool.hpp +331 -0
- netgen/include/stlgeom/stltopology.hpp +419 -0
- netgen/include/stlgeom/vsstl.hpp +58 -0
- netgen/include/visualization/meshdoc.hpp +42 -0
- netgen/include/visualization/mvdraw.hpp +325 -0
- netgen/include/visualization/vispar.hpp +128 -0
- netgen/include/visualization/visual.hpp +28 -0
- netgen/include/visualization/visual_api.hpp +10 -0
- netgen/include/visualization/vssolution.hpp +399 -0
- netgen/lib/libnggui.lib +0 -0
- netgen/lib/ngcore.lib +0 -0
- netgen/lib/nglib.lib +0 -0
- netgen/lib/togl.lib +0 -0
- netgen/libnggui.dll +0 -0
- netgen/libngguipy.lib +0 -0
- netgen/libngguipy.pyd +0 -0
- netgen/libngpy/_NgOCC.pyi +1545 -0
- netgen/libngpy/__init__.pyi +7 -0
- netgen/libngpy/_csg.pyi +259 -0
- netgen/libngpy/_geom2d.pyi +323 -0
- netgen/libngpy/_meshing.pyi +1111 -0
- netgen/libngpy/_stl.pyi +131 -0
- netgen/libngpy.lib +0 -0
- netgen/libngpy.pyd +0 -0
- netgen/meshing.py +65 -0
- netgen/ngcore.dll +0 -0
- netgen/nglib.dll +0 -0
- netgen/occ.py +52 -0
- netgen/read_gmsh.py +259 -0
- netgen/read_meshio.py +22 -0
- netgen/stl.py +2 -0
- netgen/togl.dll +0 -0
- netgen/version.py +2 -0
- netgen/webgui.py +529 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/boundarycondition.geo +16 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/boxcyl.geo +32 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/circle_on_cube.geo +27 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cone.geo +13 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cube.geo +16 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubeandring.geo +55 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubeandspheres.geo +21 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubemcyl.geo +18 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubemsphere.geo +19 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cylinder.geo +12 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cylsphere.geo +12 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/doc/ng4.pdf +0 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ellipsoid.geo +8 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ellipticcyl.geo +10 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/extrusion.geo +99 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/fichera.geo +24 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/frame.step +11683 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/hinge.stl +8486 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/lshape3d.geo +26 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/manyholes.geo +26 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/manyholes2.geo +26 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/matrix.geo +27 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ortho.geo +11 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/part1.stl +2662 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/period.geo +33 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/exportNeutral.py +26 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/mesh.py +19 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/shaft.geo +65 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/revolution.geo +18 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/screw.step +1694 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sculpture.geo +13 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/shaft.geo +65 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/shell.geo +10 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sphere.geo +8 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sphereincube.geo +17 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/square.in2d +35 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/squarecircle.in2d +48 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/squarehole.in2d +47 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/torus.geo +8 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/trafo.geo +57 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twobricks.geo +15 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twocubes.geo +18 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twocyl.geo +16 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/METADATA +15 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/RECORD +340 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/WHEEL +5 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/entry_points.txt +2 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/licenses/AUTHORS +1 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/licenses/LICENSE +504 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/top_level.txt +2 -0
- pyngcore/__init__.py +1 -0
- 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
|
+
|