Commit Graph

256 Commits

Author SHA1 Message Date
Joachim Schoeberl
2422318162 rotation trafo 2021-08-02 09:50:54 +02:00
Joachim Schoeberl
62a0743e4e curves on surfaces 2021-08-01 23:17:39 +02:00
Joachim Schoeberl
b829c9bcc8 occ-triangulation 2021-07-30 09:43:29 +02:00
Joachim Schoeberl
62463b904e little occ code polish 2021-07-30 08:42:35 +02:00
Joachim Schoeberl
751f193d81 replace global_shape_names by global_shape_properties 2021-07-29 16:40:11 +02:00
Joachim Schoeberl
b22ae4f90d don't use optional.value for MacOS < 10.14 2021-07-29 16:01:21 +02:00
Joachim Schoeberl
66de9d4510 global_shape_properties, instead of individual maps 2021-07-29 12:15:03 +02:00
Joachim Schoeberl
8f2e0611e0 allow to set names for all shapes (e.g. edges) 2021-07-28 20:16:32 +02:00
Joachim Schoeberl
f2e8425145 occ features 2021-07-28 08:23:33 +02:00
Joachim Schoeberl
e4e1994a60 wrapping occ features 2021-07-27 23:31:36 +02:00
Joachim Schoeberl
42c6601aae colors from python-occ 2021-07-27 20:59:41 +02:00
Joachim Schoeberl
411a850d41 checking for occ-has-history 2021-07-26 22:50:59 +02:00
Joachim Schoeberl
4da7f6ac72 Global 'Glue' function, preserve more history 2021-07-26 22:35:39 +02:00
Matthias Hochsteger
e502eeee2f test with Ubuntu 20.04, fix occ versions compatibility 2021-07-26 16:59:43 +02:00
Matthias Hochsteger
d01bde60f6 OCC versions compatibility 2021-07-26 16:39:33 +02:00
Joachim Schoeberl
7e0f0326de occ material, copy names from step-loading to global names 2021-07-26 09:10:50 +02:00
Joachim Schoeberl
f3caa7182a occ: setting boundary conditions, and propagating it through intersection 2021-07-25 22:16:43 +02:00
Joachim Schoeberl
ca0201b301 OCCGeometry from list of shapes 2021-07-25 01:26:09 +02:00
Joachim Schoeberl
5066fe0fce boolean operations for occ in Python 2021-07-24 22:31:40 +02:00
Joachim Schoeberl
56e848eea9 pywrapping occ 2021-07-24 19:53:30 +02:00
Joachim Schoeberl
54af8014c4 back to trying both occ surface-meshing versions 2021-07-24 16:18:22 +02:00
Joachim Schoeberl
157b246f7f occ: box, cyl 2021-07-24 13:14:21 +02:00
Joachim Schoeberl
d783b71d49 few occ exports 2021-07-24 11:07:39 +02:00
Matthias Hochsteger
b9f7b1e5a5 Register OCCGeometry for archiver 2021-06-11 15:23:21 +02:00
Christopher Lackner
0fc488e802 Merge remote-tracking branch 'stefanbruens/salome_upstreamable' 2021-03-15 09:36:01 +01:00
Stefan Brüns
cf4d9eff33 Modernize code, replace Handle_<X> with Handle(X)
Same like c35297a8fb158be47772cb5fc9cee76ca88ff871
2021-03-12 23:13:01 +01:00
Stefan Brüns
3c13e41692 Remove duplicated includes from occgeom.hpp
Each of the duplicated header files have an include guard, so including
it twice is just a small waste of processing time.
2021-03-11 23:26:23 +01:00
Stefan Brüns
8abd52a47b Remove two unused variables 2021-03-10 01:06:11 +01:00
Stefan Brüns
2767672286 Cleanup use of M_PI/PI defines
gprim/geom2d.cpp includes mystdlib.h, which already has a fallback define
for M_PI. As geomfuncs.cpp also includes mystdlib.h, use M_PI instead
of a truncated value.

occ/Partition_Loop2d.cxx already gets M_PI from the opencascade headers
(~everything includes Standard_Real.hxx, which includes Standard_math.hxx,
which sets _USE_MATH_DEFINES for Windows and includes math.h).
2021-03-10 00:46:58 +01:00
Stefan Brüns
883baf4189 Remove occconstruction.cpp from list of library sources
Since commit 0c3c3f32d1
("occ build visualization mesh") occgeometry.cpp does not contain
any compiled code, and it has not been used at least for 12 years.

As the file includes quite some header files removing it from the sources
should save some compile time.
2021-03-08 02:38:28 +01:00
Matthias Hochsteger
94ecf8de92 Fix private linking of Python
The CMake export of Interface libraries also exports PRIVATE build
settings, which leads to build errors with non-existing include paths and .lib files for binary distributions.

Use the work-around mentioned here to circumvent this behavior:
https://gitlab.kitware.com/cmake/cmake/-/issues/15415#note_849405
2020-12-18 11:05:10 +01:00
Christopher Lackner
fb13152004 create occ geometry from TopoDS_Shape and export constructor
this only works if OCC bindings are done using pybind11!
2020-07-13 18:54:55 +02:00
Matthias Hochsteger
9b28a2df02 OCC - HasErrors() available from v7.2 2020-06-03 11:50:33 +02:00
Joachim Schöberl
1d97367e30 check OCC-Version of HasErrors 2020-06-02 08:51:51 +02:00
Joachim Schöberl
dc15e50956 Added glueing to OCC interface, geom.Glue() from Python 2020-05-31 21:58:21 +02:00
Christopher Lackner
34590f1b9a support already meshed edges/faces in occ mesher 2020-05-26 11:23:33 +02:00
Christopher Lackner
97ba90ee40 DLL_HEADER for whole OCCGeometry 2020-05-17 20:24:22 +02:00
Christopher Lackner
27baa178d2 fix new clang warning and add helper function 2020-04-20 10:13:04 +02:00
Matthias Hochsteger
63e414ff0d Add missing header in occgeom.cpp 2020-03-02 17:03:50 +01:00
Joachim Schöberl
c6c91bb348 set edgenames in mesh 2020-02-29 13:56:43 +01:00
Joachim Schöberl
70968e59e8 optimal order reading of names 2020-02-28 20:54:22 +01:00
Matthias Hochsteger
ce90bd9e83 [cmake] Simplify compile flag handling on Windows
Add options/define flags to ngcore, so they are automatically passed on
to dependencies
2020-01-16 16:38:06 -08:00
Matthias Hochsteger
05e6456ec2 Vec3d to Vec<3>, comparison operator for Vec<> 2019-11-27 14:47:24 +01:00
Joachim Schöberl
2b683f70d5 Merge branch 'throw_on_meshing_fail' into 'master'
throw on meshing failure

See merge request jschoeberl/netgen!299
2019-11-26 19:27:30 +00:00
Matthias Hochsteger
f3d9d3ad67 [cmake] Don't link python libraries in unix-conda environment
Conda links python libs statically to python executable
2019-11-26 19:26:18 +00:00
Christopher Lackner
303aebc27e throw on meshing failure 2019-11-26 17:08:21 +01:00
Matthias Hochsteger
cf84d78fd4 Read solid names of STEP geometries 2019-11-20 15:46:52 +01:00
Christopher Lackner
f54c47bac6 if tangent is not defined and not checked this leads to segfault 2019-11-19 10:00:05 +01: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
1b1c4700ad geo GetNormal and ProjectPointEdge with geoinfo pointer 2019-11-04 11:27:01 +01:00
Christopher Lackner
6c012675aa project point without geominfo returns new geominfo 2019-10-31 17:08:29 +01:00
Joachim Schöberl
656c8fa29d Merge branch 'installers_with_occt_740' into 'master'
Build and test with OCCT 7.4.0 on Windows and MacOS

See merge request jschoeberl/netgen!288
2019-10-28 14:57:44 +00:00
Matthias Hochsteger
2a51bf76c1 [testing] Add results for OCC 7.4, skip tests on Ubuntu (with OCC 7.3) 2019-10-28 15:11:42 +01:00
Christopher Lackner
b0db24fa83 implement meshsurface in basegeometry 2019-10-28 14:41:31 +01:00
Christopher Lackner
5b45c7a972 implement meshing2 functionality for 3d geometries 2019-10-28 13:44:51 +01:00
Matthias Hochsteger
22a894b8cf Set OCC geometry in GenerateMesh() 2019-10-23 11:26:23 +02:00
Matthias Hochsteger
586f8120ea some Timers in LoadOCC, don't read edge names 2019-10-21 13:38:09 +02:00
Joachim Schöberl
124ee905b2 Merge branch 'test_refactoring_meshing_design' into 'master'
Refactoring of surface meshing classes

See merge request jschoeberl/netgen!279
2019-10-21 08:21:12 +00:00
Matthias Hochsteger
495a6eddf7 [cmake] Link AppKit to avoid undefined references if OCC is statically linked on MacOS 2019-10-18 16:39:28 +02:00
Matthias Hochsteger
17dfd45609 Merge remote-tracking branch 'origin/master' into test_refactoring_meshing_design 2019-10-18 11:53:05 +02:00
Joachim Schöberl
ca25d6838b use NextUV 2019-10-10 07:38:32 +02:00
Christopher Lackner
ee7360ad19 disable check overlap for occ meshsurface 2019-10-08 15:48:08 +02:00
Christopher Lackner
e784abb8f7 Merge branch 'master' into test_refactoring_meshing_design 2019-10-08 12:31:24 +02:00
Joachim Schöberl
62e3e790d8 switch OCC meshing to physical space, and optimize FromPlane projection using uv-geominfo 2019-10-07 23:45:39 +02:00
Christopher Lackner
94c17c2f46 modernize code to use handle 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
Christopher Lackner
01e059ece4 some optimizations for CalcLocalH in occ mesher 2019-10-04 14:55:36 +02:00
Christopher Lackner
18070c9f03 fix for opencascade 7.4.0 2019-10-04 13:09:18 +02:00
Christopher Lackner
90c6f0256d curvaturesafety was removed in cleanup commit 2019-10-02 11:16:44 +02:00
Christopher Lackner
9797c23351 change CalcLocalH to use Point<D> instead of PointDd 2019-10-01 11:59:17 +02:00
Joachim Schöberl
af7d6fea48 Merge branch 'optimize_occ_surf_mesh' into 'master'
only do optimization for occ surface mesh

See merge request jschoeberl/netgen!256
2019-09-30 13:30:55 +00:00
Joachim Schöberl
b76b82b293 Merge branch 'split_improve_2d' into 'master'
SplitImprove for triangles

See merge request jschoeberl/netgen!251
2019-09-30 13:29:50 +00:00
Matthias Hochsteger
8defe2f864 New function Mesh::FindIllegalTrigs()
Find illegal trigs after surface meshing and use this information in
surface mesh optimization
2019-09-30 14:54:03 +02:00
Christopher Lackner
5eb2ab470e only do optimization for occ surface mesh 2019-09-30 12:02:08 +02:00
Christopher Lackner
ca2212879e Change some PointNd to Point<N> functions 2019-09-29 14:54:24 +02:00
Christopher Lackner
56d256523a use relative mindist instead of absolute
I think this shouldn't be a relative value here.
2019-09-16 15:38:20 +02:00
Christopher Lackner
9feb9de9b1 Fix docstring 2019-09-16 12:48:27 +02:00
Christopher Lackner
13c17adf87 restricth for occ and stl geometries 2019-08-28 09:52:51 +02:00
Christopher Lackner
9d96c0e432 occ parameters from python, gui and meshsize parameters now the same 2019-08-27 10:10:17 +02:00
Joachim Schöberl
5ada92bcdb little polish 2019-08-21 18:38:26 +02:00
Joachim Schöberl
67f4c89ea1 fix optimized DefineTangentialPlane 2019-08-19 12:47:35 +02:00
Christopher Lackner
bc7e632368 set meshsize for occ face from python 2019-08-13 18:45:27 +02:00
Joachim Schöberl
9118ddc63a preparations to switch T_POINTS to ngcore::Array 2019-08-09 15:30:58 +02:00
Joachim Schöberl
b03705c37d more use of Index types 2019-08-09 00:23:12 +02:00
Joachim Schöberl
e8960ebae1 use ngscore::Array for surface elements 2019-08-08 08:44:59 +02:00
Joachim Schöberl
eec95bf406 little smoothing in occgenmesh 2019-08-08 00:17:53 +02:00
Joachim Schöberl
4bfe42b305 more PointIndex::BASE 0/1 fixes 2019-08-07 23:32:14 +02:00
Joachim Schöberl
a8ad8429a0 optimize OCC DefineTangentialPlane 2019-07-30 23:51:54 +02:00
Christopher Lackner
c22ec2dcc2 meshingparameters from python as in gui 2019-07-29 07:11:57 +02:00
Joachim Schöberl
f7fcc67fc7 little modernization 2019-07-28 23:22:47 +02:00
Joachim Schöberl
321bee9b02 little OCC-meshing cleanup 2019-07-28 20:22:48 +02:00
Joachim Schöberl
954cae2686 don't use global mparam in occ-meshing 2019-07-27 19:05:43 +02:00
Christopher Lackner
091494c6b3 cleanup python export, generate mesh functions not monkeypatched 2019-07-25 23:25:58 +02:00
Matthias Hochsteger
d89b328979 Get rid of pybind11 include in archive.hpp
Forward-declare pybind11::object and move implementation of
Archive::Shallow() to new header python_ngcore.hpp

All files using the Shallow/Python archive functionality must include
core/python_ngcore.hpp. Missing includes result in link errors, due to
missing instantiations of Archive::Shallow<T>();
2019-07-11 17:09:59 +02:00
Matthias Hochsteger
cb87362f64 Rename Array to NgArray 2019-07-09 10:39:16 +02:00
Matthias Hochsteger
4aadd29dfc [cmake] Fix libraries privately 2019-06-30 00:54:31 +02:00
Matthias Hochsteger
4e038ad084 Fix wrong memory allocation and snprintf parameter type 2019-06-11 10:44:40 +02:00