Christopher "Monty" Montgomery
b28baf0cd7
Merge de7ffc5906e0ce4117ca91f13c1e3a8f858cefd7 into 00d6c94bd9227bbe80f5a7d9e94f36acf2384889
2022-07-06 14:12:13 +02:00
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
Christopher Lackner
95be76d8ee
surface color to mesh from geometry
2022-05-10 18:18:29 +02:00
Christopher Lackner
27a6d29187
fix occ closesurfaces ending in a larger plane
2022-04-20 17:18:44 +02:00
Christopher Lackner
d36b3d8b4e
[occ] inner point of surface -> surface mesh
2022-03-30 12:47:07 +02:00
luz paz
4033fac1b3
Fix various typos
...
Found via `codespell -q 3 -S ./external_dependencies/pybind11 -L alledges,allright,ane,anormal,ans,apoints,ba,boxs,cancle,childs,co-ordinate,co-ordinates,daty,enty,filld,hel,identifyable,ist,linz,lod,ned,nd,selt,statics,suround,thev,thist,thisy,timere,upto,wel`
2022-03-25 18:22:05 -04:00
Matthias Hochsteger
dcda14e6e7
fix occ identifications
2022-03-24 16:54:40 +01:00
mhochsteger@cerbsim.com
154302605f
separate localh trees for different layers
...
currenlty used in OCC geometries generated with
shape = netgen.occ.Compound(list_of_shapes, separate_layers=True)
2022-03-10 19:04:46 +01:00
mhochsteger@cerbsim.com
d2348a7651
optimize occ surfaces individually again, update test results
2022-03-02 15:42:44 +01:00
Matthias Hochsteger
c6c8f52878
Merge branch 'fix_parallel_optimize2d' into 'master'
...
Fix parallel optimize2d
See merge request jschoeberl/netgen!487
2022-03-02 14:11:21 +00:00
mhochsteger@cerbsim.com
43382d4be8
fix parallel surface optimization with occ
2022-03-02 14:58:39 +01:00
Christopher Lackner
9730a383fd
geo vertices as pointelements not locked points
2022-03-02 11:34:02 +01:00
Christopher Lackner
016b1692e2
fix point type of geo vertices (FIXEDPOINT) -> locked points
2022-03-01 13:23:06 +01:00
mhochsteger@cerbsim.com
cf59f297a7
use std::filesystem::path
2022-02-23 11:56:00 +01:00
mhochsteger@cerbsim.com
a68cd9f89a
fix parallel surface optimization
...
update test results
2022-02-15 19:09:53 +01:00
mhochsteger@cerbsim.com
5f202fd4ea
clear geom data in OCCGeometry::BuildFMap() (fixes broken meshing after Heal())
2022-01-17 10:02:11 +01:00
mhochsteger@cerbsim.com
439415bffe
fix OCC meshing with nglib
2022-01-14 11:47:22 +01:00
mhochsteger@cerbsim.com
2a77e9635a
Use 10000 edge divide factor again for OCC
2022-01-14 11:47:08 +01:00
mhochsteger@cerbsim.com
00e6d1d077
occ - fix bug in edge identification
2021-12-20 10:42:26 +01:00
mhochsteger@cerbsim.com
b7448ce2c1
fix PropagateIdentifications after Glue
2021-12-16 18:35:43 +01:00
mhochsteger@cerbsim.com
329364e8e2
occ - set domin/domout for edges in 2d meshes
2021-12-07 14:52:06 +01:00
mhochsteger@cerbsim.com
c0d6f1588d
occ - closesurface identification (prisms)
2021-11-30 20:26:26 +01:00
mhochsteger@cerbsim.com
1818ffd152
occ - fix meshing in parameter space, fix edge curve parameters
2021-11-29 16:04:26 +01:00
mhochsteger@cerbsim.com
06031e665a
set default bcname to valid string pointer, some occ tests
2021-11-29 11:13:40 +01:00
mhochsteger@cerbsim.com
9537ccdb7a
occ - allow closed edges in identified faces
2021-11-28 19:59:14 +01:00
Matthias Hochsteger
16b88e8e67
OCC Mesher Cleanup
2021-11-28 15:14:41 +00:00
mhochsteger@cerbsim.com
e0afa0a916
Use TextOutArchive to store OCCGeometry in mesh files
2021-11-11 10:04:39 +01:00
mhochsteger@cerbsim.com
17458889aa
Change interface of LoadFromMeshFile
...
Fetch the first (geometry identification) token only once (and not on each try to load a different type)
2021-11-10 18:37:24 +01:00
Christopher Lackner
bd29763b16
Add std::any to py::object caster for archive registered types
2021-09-28 22:34:11 +02:00
Christopher Lackner
9d48602a2a
Add NetgenGeometry.RestrictH function
2021-09-08 22:12:45 +02:00
Christopher Lackner
b99e37999f
fixes for mac and windows
2019-11-05 15:19:54 +01:00
Christopher Lackner
073e215bb6
add closeedge meshsize to base geometry (not used)
...
closedgefac moved to meshingparameters for this
2019-11-04 19:34:46 +01:00
Christopher Lackner
6c012675aa
project point without geominfo returns new geominfo
2019-10-31 17:08:29 +01:00
Christopher Lackner
1e3ed047db
progress for analyse geometry
2019-10-31 15:25:47 +01:00
Christopher Lackner
249d785084
progress bars for find edges, mesh surface,...
2019-10-31 15:17:28 +01:00
Christopher Lackner
fbf6d92895
clean up geometry interface, fix if number of subdivided edges was not correct
2019-10-31 13:34:40 +01:00
Christopher Lackner
aa580e4025
add timer and little cleanup in not yet used findedges
2019-10-29 11:37:27 +01:00
Christopher Lackner
a76d407979
implement functionality to restrict meshsize in base class
...
not yet used in any derived geometry
2019-10-28 19:58:35 +01:00
Christopher Lackner
e221c550ac
implement find edges in base geometry
2019-10-28 17:14:55 +01:00
Christopher Lackner
b0db24fa83
implement meshsurface in basegeometry
2019-10-28 14:41:31 +01:00
Christopher Lackner
54b36c6a40
add virtual method to restrict localh to geometry
2019-10-24 17:34:53 +02:00
Christopher Lackner
36e56e5d6c
move some stuff to base geometry
2019-10-24 13:17:00 +02:00
Christopher Lackner
c309c9846f
store refinement
2019-10-07 15:17:03 +02:00
Christopher Lackner
fa3ae333ce
delete trailing whitespaces in new commits
2019-10-07 15:17:03 +02:00
Christopher Lackner
05881c0eb5
refactor a lot of the old code, stl still needs to be done
2019-10-07 15:17:03 +02:00
Christopher Lackner
43cc5e68b1
occ use optimize surface functionality from basegeom
2019-10-07 15:17:03 +02:00
Christopher Lackner
bee097b153
start unify meshing with occ meshing
2019-10-07 15:17:03 +02:00
Matthias Hochsteger
cb87362f64
Rename Array to NgArray
2019-07-09 10:39:16 +02:00
Christopher Lackner
099acc9fa1
pickling for all geometry types
2018-12-14 12:01:58 +01:00
Joachim Schöberl
d9219e6f05
picking geometry with mesh (CSG only by now)
2018-05-12 09:16:02 +02:00