Monty Montgomery
de7ffc5906
Eliminate a "C++ initialization order fiasco" for geometryregister
...
Current initialization of the global geometryregister suffers from a
classic 'initialization order fiasco'. Depending on the order the
compilation units are loaded/linked, the initialization of the global
geometryregisterarray is not guaranteed to happen (and indeed often
does not happen) before it is used. This leads to entries being
appended before it's initialized (usually 'suceeding, but potentially
causing memory corruption if the segment at that point isn't zeroed),
initialization then happening halfway through (wiping the initial
entries) and then the last entries being the only ones that show up.
The net effect is either a crash at startup, or several geometry types
seeming to be missing. Eg, step files will oad, but STL files are
just ignored. The bug is actively observed on, eg, Linux.
This patch implements a simple 'initialize at first access' convention
for the array, eliminating the ordering problem.
I've not reviewed the rest of the source for other potential examples
of the fiasco pattern; this fixes only the geometryregister, since
that was actively biting.
2022-05-22 11:29:10 -04:00
Joachim Schoeberl
bac77b1f58
define ng_tcl_volatile, ...
2022-05-07 19:54:43 +02:00
Joachim Schoeberl
1a634c1957
Tcl_FreeProc + volatile/static/dynamic constants of correct type
2022-05-07 19:45:38 +02:00
Joachim Schoeberl
03332c1146
define type Tcl_FreeProc
2022-05-07 19:40:16 +02:00
Schöberl, Joachim
1a174508db
Merge branch 'occ_consistent_maxh' into 'master'
...
make shape.solids.maxh = ... consistent with solid.maxh = ...
See merge request ngsolve/netgen!503
2022-05-07 15:10:57 +02:00
Joachim Schoeberl
4f09633b80
remove old mpi-wrapper
2022-05-06 18:21:44 +02:00
Christopher Lackner
9b44069e54
fix tuple creation in return color
2022-05-06 17:47:50 +02:00
Christopher Lackner
c61753d89d
FD color gives 3-tuple, transparency as separate property
2022-05-06 17:14:10 +02:00
Joachim Schoeberl
cad2391e34
unify MPI
2022-05-06 16:39:06 +02:00
Matthias Hochsteger
165947295e
move ngtcl.hpp interface to meshing/visual_interface.hpp
2022-05-06 12:23:50 +02:00
Matthias Hochsteger
22e57a1159
Don't load gui libraries when importing netgen
2022-05-06 10:59:59 +02:00
Christopher Lackner
456cb927d1
make shape.solids.maxh = ... consistent with solid.maxh = ...
2022-05-05 18:09:42 +02:00
Christopher Lackner
a04b7b5d5d
__ge__ and __le__ operator for DirectionalInterval
2022-05-05 17:32:25 +02:00
Matthias Hochsteger
b694b4667a
rework build system, separate gui and non-gui code
...
move fieldlines code to meshing dir
move visualization function pointers to meshing directory
DLL_HEADER -> NGGUI_API in visualization lib
move soldata.hpp to meshing
update occ, no freetype necessary anymore
2022-05-05 14:39:31 +02:00
Matthias Hochsteger
233dba2408
handle multiple closesurface identifications correctly
2022-05-05 11:21:48 +02:00
Joachim Schoeberl
326e313d75
copy-ctor for head-tail array with generic types
2022-05-02 08:42:07 +02:00
Joachim Schoeberl
6a8050998b
shape comparison macro
2022-05-01 11:56:22 +02:00
Joachim Schoeberl
bf22f8d4df
fix shared loop: in rare cases elements have been called twice
2022-04-30 10:39:26 +02:00
Joachim Schoeberl
aa00749f97
fix some deprecated
2022-04-29 13:05:38 +02:00
Joachim Schoeberl
ab7f1be9ab
fix topology for deprecated functions
2022-04-29 12:23:26 +02:00
Joachim Schoeberl
f082d89326
fix deprecaed in clusters
2022-04-29 12:06:05 +02:00
Joachim Schoeberl
712f6d4c87
no deprecated call in header
2022-04-29 07:20:52 +02:00
Joachim Schoeberl
25df08f7a4
fix deprecated
2022-04-29 07:20:52 +02:00
Matthias Hochsteger
6b36a2d9d8
load geometries from command line with python netgen executable
2022-04-28 10:46:49 +02:00
Joachim Schoeberl
bac314a666
fix range-check exception for 0-sized array
2022-04-26 23:26:19 +02:00
Joachim Schoeberl
41bd58dd31
paralleltop also in sequential version - only tye type
2022-04-26 23:10:49 +02:00
Joachim Schoeberl
cf6c69ed69
paralleltop also in sequential version - only tye type
2022-04-26 23:04:11 +02:00
Joachim Schoeberl
ab5b653133
paralleltop also in sequential version - only tye type
2022-04-26 22:58:02 +02:00
Joachim Schoeberl
76c0c52bed
paralleltop also in sequential version
2022-04-26 22:45:08 +02:00
Joachim Schoeberl
fd77d17e2b
MPI unification
2022-04-26 22:07:31 +02:00
Matthias Hochsteger
b62c7b30ef
DLL_HEADER for fieldline code
2022-04-26 18:44:14 +02:00
Joachim Schoeberl
212c5dd130
dummy mpi-waitany for non-parallel
2022-04-26 16:54:18 +02:00
Joachim Schoeberl
eef95eed52
more mpi from ngcore
2022-04-26 16:28:52 +02:00
Matthias Hochsteger
d165d67765
fix build
2022-04-25 20:30:27 +02:00
Matthias Hochsteger
9ceb2baeaa
make fieldlines code available in non-gui builds
2022-04-25 18:42:26 +02:00
Christopher Lackner
c39dbd443e
Merge remote-tracking branch 'jzimmermann/master'
2022-04-25 11:06:21 +02:00
Joachim Schoeberl
e0b6562b99
polish topology
2022-04-22 22:39:06 +02:00
Joachim Schoeberl
2ee9dbeafd
little cleanup
2022-04-21 17:59:23 +02:00
Joachim Schoeberl
1afcb30102
less copying
2022-04-21 17:16:26 +02:00
Joachim Schoeberl
054386388e
less hash-table searching in buildedges
2022-04-21 16:25:52 +02:00
Joachim Schoeberl
0605097bdc
Topology: use non-copying access functions, take care of 0/1 - based indexing
2022-04-21 12:28:56 +02:00
Joachim Schoeberl
6fd99a5a29
some modernization of Topology
2022-04-21 11:37:38 +02:00
Julius Zimmermann
4df5ed1536
denser syntax in occ file
2022-04-21 10:26:27 +02:00
Julius Zimmermann
267959967d
add message level and check notation of unv file only for first line
2022-04-21 10:25:57 +02:00
Christopher Lackner
27a6d29187
fix occ closesurfaces ending in a larger plane
2022-04-20 17:18:44 +02:00
Julius Zimmermann
6e18260ef7
Merge branch 'master' of github.com:j-zimmermann/netgen
2022-04-20 14:49:32 +02:00
Julius Zimmermann
ae28716366
add cone
2022-04-20 14:49:22 +02:00
Julius Zimmermann
718c876fa7
correct computation of shapes
2022-04-20 00:08:54 +02:00
Julius Zimmermann
eb8276c132
Merge branch 'NGSolve:master' into master
2022-04-20 00:01:15 +02:00
Matthias Hochsteger
5e977e819f
refactor fieldlines code
2022-04-19 18:37:15 +02:00