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,325 @@
|
|
|
1
|
+
#ifndef FILE_MVDRAW
|
|
2
|
+
#define FILE_MVDRAW
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
namespace netgen
|
|
6
|
+
{
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class VisualScene
|
|
10
|
+
{
|
|
11
|
+
protected:
|
|
12
|
+
static NGGUI_API Point3d center;
|
|
13
|
+
static NGGUI_API double rad;
|
|
14
|
+
|
|
15
|
+
static double lookatmat[16];
|
|
16
|
+
static double transmat[16];
|
|
17
|
+
static double rotmat[16];
|
|
18
|
+
static double centermat[16];
|
|
19
|
+
|
|
20
|
+
static NGGUI_API double transformationmat[16];
|
|
21
|
+
|
|
22
|
+
GLdouble clipplane[4];
|
|
23
|
+
|
|
24
|
+
int changeval;
|
|
25
|
+
static NGGUI_API GLdouble backcolor;
|
|
26
|
+
|
|
27
|
+
static int NGGUI_API selface;
|
|
28
|
+
static int selelement;
|
|
29
|
+
static PointIndex NGGUI_API selpoint;
|
|
30
|
+
static PointIndex selpoint2;
|
|
31
|
+
static int locpi;
|
|
32
|
+
static int NGGUI_API seledge;
|
|
33
|
+
|
|
34
|
+
static optional<Point<3>> marker;
|
|
35
|
+
|
|
36
|
+
static int subdivision_timestamp;
|
|
37
|
+
static int subdivisions;
|
|
38
|
+
public:
|
|
39
|
+
static int viewport[4];
|
|
40
|
+
static GLuint coltexname;
|
|
41
|
+
static int ntexcols;
|
|
42
|
+
int invcolor;
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
public:
|
|
46
|
+
NGGUI_API VisualScene ();
|
|
47
|
+
NGGUI_API virtual ~VisualScene();
|
|
48
|
+
|
|
49
|
+
NGGUI_API virtual void BuildScene (int zoomall = 0);
|
|
50
|
+
NGGUI_API virtual void DrawScene ();
|
|
51
|
+
|
|
52
|
+
NGGUI_API void CalcTransformationMatrices();
|
|
53
|
+
NGGUI_API void StandardRotation (const char * dir);
|
|
54
|
+
NGGUI_API void ArbitraryRotation (const NgArray<double> & alpha, const NgArray<Vec3d> & vec);
|
|
55
|
+
NGGUI_API void ArbitraryRotation (const double alpha, const Vec3d & vec);
|
|
56
|
+
|
|
57
|
+
NGGUI_API virtual void MouseMove(int oldx, int oldy,
|
|
58
|
+
int newx, int newy,
|
|
59
|
+
char mode);
|
|
60
|
+
|
|
61
|
+
NGGUI_API void LookAt (const Point<3> & cam, const Point<3> & obj,
|
|
62
|
+
const Point<3> & camup);
|
|
63
|
+
|
|
64
|
+
NGGUI_API void SetClippingPlane ();
|
|
65
|
+
|
|
66
|
+
NGGUI_API virtual void MouseDblClick (int px, int py);
|
|
67
|
+
|
|
68
|
+
NGGUI_API void SetLight ();
|
|
69
|
+
static void SetBackGroundColor (double col)
|
|
70
|
+
{ backcolor = col; }
|
|
71
|
+
|
|
72
|
+
NGGUI_API void CreateTexture (int ncols, int linear, double alpha, int typ);
|
|
73
|
+
NGGUI_API void DrawColorBar (double minval, double maxval, int logscale = 0, bool linear = 1, string format="%8.3e", string unit="");
|
|
74
|
+
NGGUI_API void DrawTitle (string title);
|
|
75
|
+
NGGUI_API void DrawCoordinateCross ();
|
|
76
|
+
NGGUI_API void DrawMarker();
|
|
77
|
+
NGGUI_API void DrawNetgenLogo ();
|
|
78
|
+
NGGUI_API void SetOpenGlColor(double val, double valmin, double valmax, int logscale = 0);
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
#ifdef PARALLELGL
|
|
82
|
+
NGGUI_API void InitParallelGL ();
|
|
83
|
+
NGGUI_API void Broadcast ();
|
|
84
|
+
#endif
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
NGGUI_API extern void MyOpenGLText (const char * text);
|
|
89
|
+
NGGUI_API extern int MyOpenGLTextWidth ();
|
|
90
|
+
NGGUI_API extern void Set_OpenGLText_Callback ( void (*fun) (const char * text), int width );
|
|
91
|
+
NGGUI_API extern VisualScene visual_scene_cross;
|
|
92
|
+
NGGUI_API extern VisualScene *visual_scene;
|
|
93
|
+
NGGUI_API extern void MyOpenGLLines (FlatArray<Point<3>> points);
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
class VisualSceneSurfaceMeshing : public VisualScene
|
|
105
|
+
{
|
|
106
|
+
double scalex = 1., scaley = 1., shiftx = 0., shifty = 0.;
|
|
107
|
+
public:
|
|
108
|
+
shared_ptr<NgArray<Point<3>>> locpointsptr;
|
|
109
|
+
shared_ptr<NgArray<INDEX_2>> loclinesptr;
|
|
110
|
+
shared_ptr<NgArray<Point<2>>> plainpointsptr;
|
|
111
|
+
int oldnl;
|
|
112
|
+
bool clearptr;
|
|
113
|
+
VisualSceneSurfaceMeshing ();
|
|
114
|
+
virtual ~VisualSceneSurfaceMeshing ();
|
|
115
|
+
|
|
116
|
+
void BuildScene (int zoomall = 0) override;
|
|
117
|
+
void DrawScene () override;
|
|
118
|
+
NGGUI_API void MouseMove(int oldx, int oldy, int newx, int newy,
|
|
119
|
+
char mode) override;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
NGGUI_API extern VisualSceneSurfaceMeshing vssurfacemeshing;
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
struct VisualSelect
|
|
127
|
+
{
|
|
128
|
+
unsigned framebuffer = 0;
|
|
129
|
+
unsigned render_buffers[2];
|
|
130
|
+
unsigned width = 0;
|
|
131
|
+
unsigned height = 0;
|
|
132
|
+
unsigned x = 0;
|
|
133
|
+
unsigned y = 0;
|
|
134
|
+
int list = 0;
|
|
135
|
+
int list_timestamp = -1;
|
|
136
|
+
double projmat[16];
|
|
137
|
+
double transformationmat[16]; // todo: set
|
|
138
|
+
double clipplane[4]; // todo: set
|
|
139
|
+
int viewport[4];
|
|
140
|
+
int selelement = -1;
|
|
141
|
+
Point<3> center; // todo: set
|
|
142
|
+
double rad = 0.0; // todo: set
|
|
143
|
+
bool enable_clipping_plane = true; // todo: set
|
|
144
|
+
|
|
145
|
+
bool Unproject(int px, int py, Point<3> &p)
|
|
146
|
+
{
|
|
147
|
+
auto hy = viewport[3] - py;
|
|
148
|
+
float pz;
|
|
149
|
+
glReadPixels (px, hy, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &pz);
|
|
150
|
+
if(pz<1 && pz>0)
|
|
151
|
+
gluUnProject(px, hy, pz, transformationmat, projmat, viewport,
|
|
152
|
+
&p[0], &p[1], &p[2]);
|
|
153
|
+
return pz<1 && pz>0;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
ngcore::IVec<2> Project(Point<3> p)
|
|
157
|
+
{
|
|
158
|
+
Point<3> pwin;
|
|
159
|
+
gluProject(p[0], p[1], p[2], transformationmat, projmat, viewport,
|
|
160
|
+
&pwin[0], &pwin[1], &pwin[2]);
|
|
161
|
+
|
|
162
|
+
return ngcore::IVec<2>(pwin[0]+0.5, viewport[3]-pwin[1]+0.5);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
bool SelectSurfaceElement (shared_ptr<Mesh> mesh, int px, int py, Point<3> &p, bool select_on_clipping_plane);
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
class VisualSceneMesh : public VisualScene
|
|
172
|
+
{
|
|
173
|
+
int filledlist = 0;
|
|
174
|
+
int linelist = 0;
|
|
175
|
+
int edgelist = 0;
|
|
176
|
+
int pointnumberlist = 0;
|
|
177
|
+
|
|
178
|
+
int tetlist = 0;
|
|
179
|
+
int prismlist = 0;
|
|
180
|
+
int pyramidlist = 0;
|
|
181
|
+
int hexlist = 0;
|
|
182
|
+
|
|
183
|
+
int badellist = 0;
|
|
184
|
+
int identifiedlist = 0;
|
|
185
|
+
int domainsurflist = 0;
|
|
186
|
+
|
|
187
|
+
int vstimestamp = -1;
|
|
188
|
+
int filledtimestamp = -1;
|
|
189
|
+
int linetimestamp = -1;
|
|
190
|
+
int edgetimestamp = -1;
|
|
191
|
+
// int pointnumbertimestamp = -1;
|
|
192
|
+
|
|
193
|
+
int tettimestamp = -1;
|
|
194
|
+
int prismtimestamp = -1;
|
|
195
|
+
int pyramidtimestamp = -1;
|
|
196
|
+
int hextimestamp = -1;
|
|
197
|
+
|
|
198
|
+
// int badeltimestamp = -1;
|
|
199
|
+
// int identifiedtimestamp = -1;
|
|
200
|
+
// int domainsurftimestamp = -1;
|
|
201
|
+
|
|
202
|
+
struct {
|
|
203
|
+
unsigned texture = -1;
|
|
204
|
+
int width = 0;
|
|
205
|
+
int height = 0;
|
|
206
|
+
int size = 0;
|
|
207
|
+
} colors;
|
|
208
|
+
|
|
209
|
+
VisualSelect select;
|
|
210
|
+
|
|
211
|
+
#ifdef PARALLELGL
|
|
212
|
+
NgArray<int> par_linelists;
|
|
213
|
+
NgArray<int> par_filledlists;
|
|
214
|
+
#endif
|
|
215
|
+
|
|
216
|
+
MouseEventHandler * user_me_handler;
|
|
217
|
+
|
|
218
|
+
NgLock *lock;
|
|
219
|
+
|
|
220
|
+
// int selface, selelement;
|
|
221
|
+
// int selpoint, selpoint2, locpi;
|
|
222
|
+
// int seledge;
|
|
223
|
+
|
|
224
|
+
double minh, maxh; // for meshsize coloring
|
|
225
|
+
|
|
226
|
+
// weak_ptr<Mesh> wp_mesh;
|
|
227
|
+
|
|
228
|
+
public:
|
|
229
|
+
NGGUI_API VisualSceneMesh ();
|
|
230
|
+
NGGUI_API virtual ~VisualSceneMesh ();
|
|
231
|
+
|
|
232
|
+
NGGUI_API virtual void BuildScene (int zoomall = 0);
|
|
233
|
+
NGGUI_API virtual void DrawScene ();
|
|
234
|
+
NGGUI_API virtual void MouseDblClick (int px, int py);
|
|
235
|
+
|
|
236
|
+
// void SetMesh (shared_ptr<Mesh> mesh) { wp_mesh = mesh; }
|
|
237
|
+
// shared_ptr<Mesh> GetMesh () { return shared_ptr<Mesh>(wp_mesh); }
|
|
238
|
+
shared_ptr<Mesh> GetMesh () const { return shared_ptr<Mesh>(global_mesh); }
|
|
239
|
+
|
|
240
|
+
void SetMouseEventHandler (MouseEventHandler * handler)
|
|
241
|
+
{ user_me_handler = handler; }
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
NGGUI_API int SelectedFace () const
|
|
245
|
+
{ return selface; }
|
|
246
|
+
NGGUI_API void SetSelectedFace (int asf);
|
|
247
|
+
// { selface = asf; selecttimestamp = GetTimeStamp(); }
|
|
248
|
+
|
|
249
|
+
NGGUI_API int SelectedEdge () const
|
|
250
|
+
{ return seledge; }
|
|
251
|
+
NGGUI_API int SelectedElement () const
|
|
252
|
+
{ return selelement; }
|
|
253
|
+
NGGUI_API int SelectedPoint () const
|
|
254
|
+
{ return selpoint; }
|
|
255
|
+
void BuildFilledList (bool select);
|
|
256
|
+
void BuildColorTexture();
|
|
257
|
+
void SelectCenter(int zoomall);
|
|
258
|
+
// private:
|
|
259
|
+
void BuildLineList();
|
|
260
|
+
void BuildEdgeList();
|
|
261
|
+
void BuildPointNumberList();
|
|
262
|
+
|
|
263
|
+
void BuildTetList(const BitArray & shownode);
|
|
264
|
+
void BuildPrismList(const BitArray & shownode);
|
|
265
|
+
void BuildPyramidList(const BitArray & shownode);
|
|
266
|
+
void BuildHexList(const BitArray & shownode);
|
|
267
|
+
|
|
268
|
+
void BuildBadelList();
|
|
269
|
+
void BuildIdentifiedList();
|
|
270
|
+
void BuildDomainSurfList();
|
|
271
|
+
|
|
272
|
+
bool SelectSurfaceElement (int px, int py, Point<3> &p, bool select_on_clipping_plane);
|
|
273
|
+
bool Unproject(int px, int py, Point<3> &p);
|
|
274
|
+
ngcore::IVec<2> Project(Point<3> p);
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
NGGUI_API extern VisualSceneMesh vsmesh;
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
class NGGUI_API VisualSceneSpecPoints : public VisualScene
|
|
281
|
+
{
|
|
282
|
+
public:
|
|
283
|
+
VisualSceneSpecPoints ();
|
|
284
|
+
virtual ~VisualSceneSpecPoints ();
|
|
285
|
+
|
|
286
|
+
virtual void BuildScene (int zoomall = 0);
|
|
287
|
+
virtual void DrawScene ();
|
|
288
|
+
|
|
289
|
+
double len;
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
// extern struct Tcl_Interp * hinterp;
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
extern void AddVisualizationScene (const string & name,
|
|
302
|
+
VisualScene * vs);
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
void MouseDblClickSelect (const int px, const int py,
|
|
306
|
+
const GLdouble * clipplane, const GLdouble backcolor,
|
|
307
|
+
const double * transformationmat,
|
|
308
|
+
const Point3d & center,
|
|
309
|
+
const double rad,
|
|
310
|
+
const int displaylist,
|
|
311
|
+
int & selelement, int & selface, int & seledge, PointIndex & selpoint,
|
|
312
|
+
PointIndex & selpoint2, int & locpi);
|
|
313
|
+
|
|
314
|
+
void RenderSurfaceElements (shared_ptr<Mesh> mesh,
|
|
315
|
+
int subdivisions,
|
|
316
|
+
std::function<bool(int)> face_init,
|
|
317
|
+
std::function<bool(SurfaceElementIndex)> sel_init
|
|
318
|
+
);
|
|
319
|
+
|
|
320
|
+
NGGUI_API std::vector<unsigned char> Snapshot( int w, int h );
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
#endif
|
|
325
|
+
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
#ifndef FILE_VISPAR
|
|
2
|
+
#define FILE_VISPAR
|
|
3
|
+
|
|
4
|
+
namespace netgen
|
|
5
|
+
{
|
|
6
|
+
|
|
7
|
+
class VisualizationParameters
|
|
8
|
+
{
|
|
9
|
+
public:
|
|
10
|
+
double lightamb;
|
|
11
|
+
double lightdiff;
|
|
12
|
+
double lightspec;
|
|
13
|
+
double shininess;
|
|
14
|
+
double transp;
|
|
15
|
+
int locviewer;
|
|
16
|
+
char selectvisual[20];
|
|
17
|
+
int showstltrias;
|
|
18
|
+
|
|
19
|
+
/*
|
|
20
|
+
Vec3d clipnormal;
|
|
21
|
+
double clipdist;
|
|
22
|
+
int clipenable;
|
|
23
|
+
int clipplanetimestamp;
|
|
24
|
+
*/
|
|
25
|
+
class Clipping
|
|
26
|
+
{
|
|
27
|
+
public:
|
|
28
|
+
Vec3d normal;
|
|
29
|
+
double dist;
|
|
30
|
+
double dist2;
|
|
31
|
+
int enable;
|
|
32
|
+
int timestamp;
|
|
33
|
+
bool operator== (Clipping & clip2)
|
|
34
|
+
{
|
|
35
|
+
return
|
|
36
|
+
(normal == clip2.normal) &&
|
|
37
|
+
(dist == clip2.dist) &&
|
|
38
|
+
// (dist2 == clip2.dist2) &&
|
|
39
|
+
(enable == clip2.enable);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
Clipping clipping;
|
|
43
|
+
|
|
44
|
+
int colormeshsize;
|
|
45
|
+
|
|
46
|
+
int drawfilledtrigs;
|
|
47
|
+
int drawbadels;
|
|
48
|
+
int drawoutline;
|
|
49
|
+
int drawedges;
|
|
50
|
+
int subdivisions;
|
|
51
|
+
|
|
52
|
+
int drawprisms;
|
|
53
|
+
int drawpyramids;
|
|
54
|
+
int drawhexes;
|
|
55
|
+
double shrink;
|
|
56
|
+
int drawidentified;
|
|
57
|
+
int drawpointnumbers;
|
|
58
|
+
int drawedgenumbers;
|
|
59
|
+
int drawfacenumbers;
|
|
60
|
+
int drawelementnumbers;
|
|
61
|
+
int drawsurfaceelementnumbers;
|
|
62
|
+
int drawsegmentnumbers;
|
|
63
|
+
int drawdomainsurf;
|
|
64
|
+
int drawtets;
|
|
65
|
+
int drawtetsdomain;
|
|
66
|
+
|
|
67
|
+
int clipdomain;
|
|
68
|
+
int donotclipdomain;
|
|
69
|
+
|
|
70
|
+
int drawededges;
|
|
71
|
+
int drawedpoints;
|
|
72
|
+
int drawedpointnrs;
|
|
73
|
+
int drawedtangents;
|
|
74
|
+
int drawededgenrs;
|
|
75
|
+
int drawmetispartition;
|
|
76
|
+
|
|
77
|
+
int drawcurveproj;
|
|
78
|
+
int drawcurveprojedge;
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
PointIndex centerpoint;
|
|
82
|
+
int drawelement;
|
|
83
|
+
|
|
84
|
+
// stl:
|
|
85
|
+
int stlshowtrias;
|
|
86
|
+
int stlshowfilledtrias;
|
|
87
|
+
int stlshowedges;
|
|
88
|
+
int stlshowmarktrias;
|
|
89
|
+
int stlshowactivechart;
|
|
90
|
+
int stlchartnumber;
|
|
91
|
+
int stlchartnumberoffset;
|
|
92
|
+
|
|
93
|
+
// occ:
|
|
94
|
+
int occshowvolumenr;
|
|
95
|
+
bool occshowsurfaces;
|
|
96
|
+
bool occshowedges;
|
|
97
|
+
bool occvisproblemfaces;
|
|
98
|
+
bool occzoomtohighlightedentity;
|
|
99
|
+
double occdeflection;
|
|
100
|
+
|
|
101
|
+
// ACIS
|
|
102
|
+
|
|
103
|
+
bool ACISshowfaces;
|
|
104
|
+
bool ACISshowedges;
|
|
105
|
+
int ACISshowsolidnr;
|
|
106
|
+
int ACISshowsolidnr2;
|
|
107
|
+
|
|
108
|
+
bool whitebackground;
|
|
109
|
+
int stereo;
|
|
110
|
+
bool usedispllists;
|
|
111
|
+
bool drawcoordinatecross;
|
|
112
|
+
bool drawcolorbar;
|
|
113
|
+
bool drawnetgenlogo;
|
|
114
|
+
|
|
115
|
+
bool use_center_coords;
|
|
116
|
+
double centerx,centery,centerz;
|
|
117
|
+
|
|
118
|
+
bool drawspecpoint;
|
|
119
|
+
double specpointx,specpointy,specpointz;
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
public:
|
|
123
|
+
VisualizationParameters();
|
|
124
|
+
};
|
|
125
|
+
NGGUI_API extern VisualizationParameters vispar;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
#endif
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#ifndef FILE_VISUAL
|
|
2
|
+
#define FILE_VISUAL
|
|
3
|
+
|
|
4
|
+
/* *************************************************************************/
|
|
5
|
+
/* File: visual.hpp */
|
|
6
|
+
/* Author: Joachim Schoeberl */
|
|
7
|
+
/* Date: 02. Dec. 01 */
|
|
8
|
+
/* *************************************************************************/
|
|
9
|
+
|
|
10
|
+
/*
|
|
11
|
+
|
|
12
|
+
Visualization
|
|
13
|
+
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
#include "visual_api.hpp"
|
|
17
|
+
#include "../include/incopengl.hpp"
|
|
18
|
+
|
|
19
|
+
#include "../meshing/visual_interface.hpp"
|
|
20
|
+
#include "../meshing/soldata.hpp"
|
|
21
|
+
#include "vispar.hpp"
|
|
22
|
+
#include "mvdraw.hpp"
|
|
23
|
+
|
|
24
|
+
#include <complex>
|
|
25
|
+
#include "vssolution.hpp"
|
|
26
|
+
#include "meshdoc.hpp"
|
|
27
|
+
|
|
28
|
+
#endif
|