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,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
@@ -0,0 +1,10 @@
1
+ #ifndef VISUAL_API_HPP_INCLUDED
2
+ #define VISUAL_API_HPP_INCLUDED
3
+
4
+ #ifdef nggui_EXPORTS
5
+ #define NGGUI_API NGCORE_API_EXPORT
6
+ #else
7
+ #define NGGUI_API NGCORE_API_IMPORT
8
+ #endif
9
+
10
+ #endif // VISUAL_API_HPP_INCLUDED