Commit Graph

2720 Commits

Author SHA1 Message Date
Christopher Lackner
4ebaefd10a add meshing parameter giveuptolopenquads 2022-02-15 09:38:20 +01:00
Christopher Lackner
c856f9ae6e Merge branch 'master' into free_pyramids 2022-02-15 09:15:11 +01:00
Christopher Lackner
e2040ae953 [occ] also keep color in merge if already set from shape 2022-02-14 18:24:02 +01:00
Christopher Lackner
3ee29a1ace [occ] overwrite shape property name only if not already set in merge 2022-02-14 18:07:00 +01:00
Joachim Schoeberl
6b28275b88 double conversion on C++ side 2022-02-13 19:02:51 +01:00
Joachim Schoeberl
ff8708d76b preallocate memory 2022-02-13 17:29:53 +01:00
Joachim Schoeberl
5d624e3078 reading via meshio 2022-02-13 16:31:55 +01:00
mhochsteger@cerbsim.com
2ce4412fb2 no periodic in bspline surface builder on OCC 7.3 2022-02-11 18:19:50 +01:00
Joachim Schoeberl
67c031cb77 fix unused-variable warning 2022-02-11 15:08:59 +01:00
Joachim Schoeberl
79ff65d224 added SIMD-wrapper for 'erf' 2022-02-11 13:56:28 +01:00
Joachim Schöberl
c5886cfe05 Merge branch 'occ_spline_tools' into 'master'
Adds wrappers for various OCC spline interpolation and approximation routines

See merge request jschoeberl/netgen!472
2022-02-11 11:15:18 +00:00
Matthias Rambausek
5f6b234262 shorter property names 2022-02-11 11:46:55 +01:00
Christopher Lackner
e86585c715 allow free pyramids 2022-02-09 19:27:24 +01:00
mhochsteger@cerbsim.com
7a10afc720 clean up cd3names in mesh dtor 2022-02-09 09:41:05 +01:00
Matthias Rambausek
51013105ed doc typo 2022-02-08 14:01:25 +01:00
Matthias Rambausek
947da90a00 Merge branch 'master' into occ_spline_tools 2022-02-07 18:43:29 +01:00
Joachim Schoeberl
1222356cf4 HSum(4) for M1, FlatArray!= 2022-02-04 17:01:31 +01:00
Joachim Schöberl
11f7d64c41 Merge branch 'show_selected_point_in_solution_scene' into 'master'
Show selected point in solution scene

See merge request jschoeberl/netgen!471
2022-02-03 06:50:20 +00:00
mhochsteger@cerbsim.com
82ec42b292 Ignore identified edges/vertices for closeedge localh restrictions 2022-02-02 15:09:41 +01:00
mhochsteger@cerbsim.com
1a010f2e57 avoid range exceptions if no element is found on double click 2022-02-02 14:26:58 +01:00
mhochsteger@cerbsim.com
deaeeaaac5 show selected point also in solution scene 2022-02-02 14:26:28 +01:00
Stefan Brüns
5fce0b48b8 Fix signedness for ARM Neon mask type
vbslq_f64 and vandq_u64 both require uint64x2_t types as mask arguments,
and the Neon intrinsics do not allow for implicit conversion.

Fixes build errors with current GCC 11.2.1:

/home/abuild/rpmbuild/BUILD/netgen-6.2.2105/libsrc/core/simd_arm64.hpp:171:29: error: cannot convert '__Int64x2_t' to 'uint64x2_t'
 171 |     return vandq_u64 (a.Data(), b.Data());
2022-01-27 14:16:51 +01:00
Stefan Brüns
e4a0733024 Throw in case "op" enum value is invalid 2022-01-27 11:49:42 +01:00
Stefan Brüns
54246e12ad Throw Exception when shape has invalid type
Although the switch statement handles all (current) allowed values, from
a C/C++ view point the enum may have any value of its underlying type.
In this case the function has no return statement and runs into
undefined behavior.

Fixes build failures when built with "-Werror=return-type".
2022-01-27 11:42:30 +01:00
Joachim Schöberl
86fd2983c7 Merge branch 'shape_name_return_optional' into 'master'
shape.name return optional<string>

See merge request jschoeberl/netgen!469
2022-01-20 16:48:43 +00:00
Joachim Schöberl
837575faf7 Merge branch 'fix_occ_closesurface' into 'master'
bugfix in FillCloseSurface

See merge request jschoeberl/netgen!468
2022-01-20 16:20:32 +00:00
Joachim Schöberl
1f23acac21 Merge branch 'occ_minedgelen' into 'master'
dont ignore small edges per default, do not set from stl parameters

See merge request jschoeberl/netgen!467
2022-01-20 16:20:15 +00:00
Christopher Lackner
1fbfc440ac shape.name return optional<string> 2022-01-20 17:03:16 +01:00
Christopher Lackner
3ab8808fa3 do not restrict mesh size on identified edges 2022-01-19 15:05:41 +01:00
mhochsteger@cerbsim.com
fd258a611f bugfix in FillCloseSurface
- don't add prisms/hexes outside of current domain
- invert them when necessary
2022-01-19 15:05:25 +01:00
Matthias Rambausek
bd85b7c638 Merge branch 'master' into occ_spline_tools
# Conflicts:
#	libsrc/occ/python_occ_shapes.cpp
2022-01-19 12:01:55 +01:00
Christopher Lackner
b6396c15c0 [occ] allow to delete names 2022-01-18 18:39:08 +01:00
Christopher Lackner
6065fe40f4 set global mesh in occ before generatemesh
to visualize meshing
2022-01-18 18:23:35 +01:00
Christopher Lackner
93de43456d dont ignore small edges per default, do not set from stl parameters
occresthminedgelen ignored restricting meshsize per segment length
on edges smaller than stl parameter resthminedgelen which was set
from the gui to 0.2. Disable this (can be used by giving
minedgelen parameter from python in meshing parameters)
2022-01-18 18:21:16 +01:00
Christopher Lackner
e597ce996b [occ] also prolongate names of solids and faces in extrude 2022-01-17 16:03:40 +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
c63a865ee3 occ - fix meshing a sphere (need to keep degenerate edges) 2022-01-04 16:09:00 +01:00
Joachim Schoeberl
44d626f727 BitArray indexing from the end 2021-12-29 21:06:52 +01:00
Matthias Rambausek
093692f825 docstring fix 2021-12-27 17:08:00 +01:00
Matthias Rambausek
88bb6ec6af add some functions to access WorkPlane data and the possibility to create splines from any starting point 2021-12-27 16:10:37 +01:00
Matthias Rambausek
6656181e2b work om WP Spline: detect closing similar to ArcTo and LineTo, remove "name" arg 2021-12-22 16:21:24 +01:00
Matthias Hochsteger
8e38334b9a Merge branch 'add_csg_solid_maxh' into 'master'
Add maxh property to Solid2d

See merge request jschoeberl/netgen!464
2021-12-22 10:55:32 +00:00
mhochsteger@cerbsim.com
f0b8b4fae9 occ - bugfix in identification propagation 2021-12-20 21:45:36 +01:00
mhochsteger@cerbsim.com
fe8c036204 Map identification trafo when transforming occ shapes
also propagate properties in gp_Trsf.__call__()
2021-12-20 21:01:51 +01:00
mhochsteger@cerbsim.com
00e6d1d077 occ - fix bug in edge identification 2021-12-20 10:42:26 +01:00
mhochsteger@cerbsim.com
1e86bc2c59 occ - consistent ordering of shapes 2021-12-17 11:04:23 +01:00
mhochsteger@cerbsim.com
d467621edd change interface for identifications 2021-12-16 20:54:19 +01:00
mhochsteger@cerbsim.com
b7448ce2c1 fix PropagateIdentifications after Glue 2021-12-16 18:35:43 +01:00
mhochsteger@cerbsim.com
bf261d533f keep direction of identifications 2021-12-16 10:04:33 +01:00
mhochsteger@cerbsim.com
de813df0c2 add prisms for between closesurface identifications explicitly (no attached faces/edges needed as in prism mesh rules)
not active yet (still buggy for CSG)
2021-12-16 10:04:17 +01:00
mhochsteger@cerbsim.com
44471fe649 occ - identify with given trafo (allows identifying multiple faces at once) 2021-12-14 12:16:03 +01:00
mhochsteger@cerbsim.com
329364e8e2 occ - set domin/domout for edges in 2d meshes 2021-12-07 14:52:06 +01:00
Matthias Rambausek
fdf26641dd fixed exception 2021-12-06 16:28:02 +01:00
Matthias Rambausek
9f83730fb5 add a check on first point given to WP::Spline; more precise docs 2021-12-06 15:26:57 +01:00
mhochsteger@cerbsim.com
b8b802de6b allow implicit convertion int->identifications type 2021-12-06 10:59:09 +01:00
mhochsteger@cerbsim.com
299717de55 copy=true in occ fuctions 2021-12-06 09:13:02 +01:00
Joachim Schöberl
27a7a5ebcd Merge branch 'save_facedescriptors' into 'master'
save FaceDescriptors in mesh file

See merge request jschoeberl/netgen!461
2021-12-03 14:15:19 +00:00
mhochsteger@cerbsim.com
f5b7e27e5d save FaceDescriptors in mesh file 2021-12-03 14:54:39 +01:00
Matthias Rambausek
31fa22626c Split 2d and 3d spline implementations, use tangent data; added Spline member to WorkPlane 2021-12-03 11:55:02 +01:00
Matthias Rambausek
193a7001e4 added 2d spline interpolation but not added to workplane yet 2021-12-02 17:39:11 +01:00
Matthias Rambausek
a5aed39f9d SplineInterpolation now works; refined some docstrings 2021-12-02 16:52:38 +01:00
Christopher Lackner
5cc3ce3300 Draw occ geometry. Change edge color to black 2021-12-02 12:10:57 +01:00
Christopher Lackner
c1d768a5b3 [occ] Specify extrusion direction, add getitem to gp_Pnt to iterate 2021-12-01 14:40:26 +01:00
mhochsteger@cerbsim.com
ed0f8b8a53 occ - propagate identifications, shape.bounding_box 2021-12-01 13:15:09 +01:00
mhochsteger@cerbsim.com
8334d20c3a occ - use search tree to identify points in parameter space 2021-12-01 11:36:28 +01:00
mhochsteger@cerbsim.com
92ade9d800 copy faces in occ transformations 2021-11-30 20:43:29 +01:00
mhochsteger@cerbsim.com
8f77aa458b fix output 2021-11-30 20:26:35 +01:00
mhochsteger@cerbsim.com
c0d6f1588d occ - closesurface identification (prisms) 2021-11-30 20:26:26 +01:00
mhochsteger@cerbsim.com
7962f0a1bb fix edge projection 2021-11-30 19:35:32 +01:00
Joachim Schoeberl
1c36ff9868 increase meshsize boundingbox in 2D 2021-11-30 18:39:12 +01:00
Christopher Lackner
378152d1c4 [occ] add Distance of shapes 2021-11-30 17:45:52 +01:00
mhochsteger@cerbsim.com
8626262679 comments 2021-11-29 16:20:40 +01:00
Joachim Schöberl
d23eb4fe7e Merge branch 'project_wire_on_face' into 'master'
project wire onto face

See merge request jschoeberl/netgen!456
2021-11-29 15:04:45 +00:00
mhochsteger@cerbsim.com
1818ffd152 occ - fix meshing in parameter space, fix edge curve parameters 2021-11-29 16:04:26 +01:00
Christopher Lackner
86e7754c7a project wire onto face 2021-11-29 15:54:24 +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
mhochsteger@cerbsim.com
bba4f414b7 occ - include StandardVersion.hxx everywhere 2021-11-28 16:25:39 +01:00
Matthias Hochsteger
16b88e8e67 OCC Mesher Cleanup 2021-11-28 15:14:41 +00:00
mhochsteger@cerbsim.com
50e05f8a72 copy shape BRepBuilderAPI_Transform (to avoid copies of same TShape with different locations) 2021-11-25 14:37:02 +01:00
Joachim Schoeberl
8dfdfb9579 fix occ - Nearest 2021-11-25 10:45:09 +01:00
Matthias Rambausek
f2c6a0f8c0 extended wrappers for spline approximation; enable spline surface interpolation 2021-11-22 15:23:34 +01:00
Matthias Rambausek
e30daf4232 solid2d gets its own maxh parameter such that maxh is also respected inside the domain 2021-11-18 09:25:17 +01:00
Christopher Lackner
3c4fe43fcc Fix loading of short mesh file names 2021-11-18 08:48:09 +01:00
mhochsteger@cerbsim.com
8c9cdfbc34 store netgen version, introduce "format_version" for future changes 2021-11-12 12:55:01 +01:00
mhochsteger@cerbsim.com
36f22a13ce also save occ identifications in mesh file attachment 2021-11-12 12:54:58 +01: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
mhochsteger@cerbsim.com
4d7ef21791 proper DoArchive for OCCGeometry 2021-11-10 18:37:24 +01:00
mhochsteger@cerbsim.com
b63baa57be ShapeProperties::DoArchive() 2021-11-10 18:37:21 +01:00
mhochsteger@cerbsim.com
f95332d0a1 archive optional<T> 2021-11-10 18:36:55 +01:00
Joachim Schoeberl
2724317985 remove output 2021-11-09 17:41:13 +01:00
Joachim Schoeberl
478aaf7788 little polish 2021-11-07 00:16:57 +01:00
Joachim Schoeberl
1eca091fd3 fix Enumerate(IndexMap) 2021-11-06 16:14:19 +01:00
Joachim Schoeberl
50398c18c4 simplify edge/face-id types (just an int) 2021-11-06 15:52:35 +01:00
Joachim Schoeberl
6ae645ce33 added IndexMapIterator 2021-11-06 13:15:52 +01:00
Joachim Schoeberl
bd564931f8 strings in FaceDescriptor (instead of ptrs) 2021-11-06 12:22:44 +01:00
Joachim Schoeberl
fdc04b7276 using more range-based loops in occ 2021-11-06 11:51:11 +01:00
Joachim Schoeberl
14f32f73c0 range-based for for TopExp_Explorer 2021-11-06 10:44:01 +01:00
Joachim Schoeberl
64e40a25e0 fixing name for unnamed face (problem after restructuring facenames) 2021-11-06 08:51:36 +01:00
mhochsteger@cerbsim.com
239cdf694f Don't copy occ shape in OCCGeometry ctor by default 2021-11-05 20:26:43 +01:00
mhochsteger@cerbsim.com
b99b107bbc fix for loop range (occ is 1-based) 2021-11-05 19:44:58 +01:00
mhochsteger@cerbsim.com
928cb57448 fix wrong bcname string pointer 2021-11-05 19:07:50 +01:00
Matthias Hochsteger
8efcd93db6 Merge branch 'temp_file_generation' into 'master'
util function GetTempFilename()

See merge request jschoeberl/netgen!446
2021-11-05 16:41:11 +00:00
Joachim Schöberl
dd5499a12e Merge branch 'occ_conn_e_to_w' into 'master'
[occ] connect edges to wires

See merge request jschoeberl/netgen!447
2021-11-05 11:53:18 +00:00
mhochsteger@cerbsim.com
225312b9d9 Save occ identifications in step file 2021-11-04 21:58:56 +01:00
Christopher Lackner
10e3494de4 [occ] connect edges to wires 2021-11-04 20:43:33 +01:00
mhochsteger@cerbsim.com
b258d7bd65 fix path to string conversion 2021-11-04 13:00:30 +01:00
mhochsteger@cerbsim.com
747367ab8a util function GetTempFilename() 2021-11-04 12:20:56 +01:00
Christopher Lackner
5672e05a40 Remove occ output 2021-11-04 10:54:33 +00:00
Christopher Lackner
5b0be52d35 do not set ng_geometry in OCCGeometry constructor 2021-11-03 20:49:34 +01:00
mhochsteger@cerbsim.com
dbe9431fa9 remove temp file 2021-11-03 17:42:52 +01:00
mhochsteger@cerbsim.com
9245c3c32b proper handling of occ names and colors 2021-11-03 17:20:26 +01:00
mhochsteger@cerbsim.com
b914b6fe53 load/store occ geometry properties (maxh, hpref, color opacity) 2021-11-02 19:11:10 +01:00
Joachim Schoeberl
0f598bffa3 hpref from occ geometry 2021-10-29 09:30:13 +02:00
mhochsteger@cerbsim.com
f0e7f843c3 util functions to get compile-time simd size and range check settings 2021-10-28 13:47:58 +02:00
mhochsteger@cerbsim.com
d9e8b815f5 pip installer 2021-10-27 16:51:41 +02:00
Matthias Hochsteger
dc57935468 include gzsteram.h only where needed 2021-10-21 10:25:40 +02:00
Christopher Lackner
e662449b69 fix copy paste error 2021-10-20 09:26:15 +02:00
Christopher Lackner
458ade64e6 fix occ shape names in Load from step 2021-10-20 09:23:01 +02:00
Joachim Schoeberl
0b7d8d5a9b fix Mirror for second-order meshes 2021-10-17 18:59:49 +02:00
Joachim Schoeberl
c20480c662 too fast with segment mapping 2021-10-15 22:10:57 +02:00
Joachim Schoeberl
95301e11ba mesh.SecondOrder : fix Segment mapping 2021-10-15 18:52:20 +02:00
Joachim Schöberl
04a31eeed3 Merge branch 'occ_listofshape_regexp_access' into 'master'
String access of listofshape using regexp

See merge request jschoeberl/netgen!438
2021-10-15 11:10:20 +00:00
Joachim Schöberl
66a6fd46b8 Merge branch 'occ_fuse' into 'master'
Add Fuse operation for occ shapes

See merge request jschoeberl/netgen!437
2021-10-15 11:09:50 +00:00
Joachim Schoeberl
f38d258d15 Mirror mesh: invert surface elements, update num vertices 2021-10-15 09:00:26 +02:00
Christopher Lackner
c8939fa6d8 String access of listofshape using regexp 2021-10-13 17:52:34 +02:00
Christopher Lackner
733824bffc Add Fuse operation for occ shapes 2021-10-13 16:54:23 +02:00
Joachim Schoeberl
6aa2d07f9e fix warning 2021-10-11 14:56:53 +02:00
Joachim Schöberl
5260e3500c Merge branch 'occ_vec_times_vec' into 'master'
[occ] multiply 2 gp_Vec

See merge request jschoeberl/netgen!433
2021-10-11 11:28:11 +00:00
Joachim Schöberl
bd32e9d540 Merge branch 'occ_better_cyl_args' into 'master'
[occ] Better arguments for Cylinder

See merge request jschoeberl/netgen!434
2021-10-11 11:14:49 +00:00
Joachim Schöberl
4c326e8535 Merge branch 'heal_without_face_colours' into 'master'
Allow OCCGeometry.Heal without face_colours (if built in py)

See merge request jschoeberl/netgen!435
2021-10-11 11:01:12 +00:00
Christopher Lackner
9efb9b1682 [occ] multiply 2 gp_Vec 2021-10-11 12:48:43 +02:00
Christopher Lackner
c9f1db548c [occ] Better arguments for Cylinder 2021-10-11 12:48:14 +02:00
Christopher Lackner
e703ad75af Allow OCCGeometry.Heal without face_colours (if built in py) 2021-10-11 12:47:16 +02:00
Michael Neunteufel
ea9c0cf524 enable meshing parameters for OptimizeMesh2d 2021-10-08 09:50:53 +02:00
Matthias Hochsteger
41d9fbf258 DLL_HEADER in Element2d 2021-10-07 02:30:23 -07:00
Joachim Schöberl
5fc8f4b2c4 Merge branch 'cylinder_face_names' into 'master'
[occ] allow to give cylinder face names in constructor

See merge request jschoeberl/netgen!430
2021-10-06 14:25:40 +00:00
Christopher Lackner
f04040f409 allow changing number of colors in colorbar 2021-10-06 16:01:48 +02:00
Christopher Lackner
4dc1bfa99e [occ] allow to give cylinder face names in constructor 2021-10-05 23:48:06 +02:00
Christopher Lackner
a2ee528dae Always call UnifySameDomain on + operator not only in 2D 2021-10-05 10:46:55 +02:00
Christopher Lackner
b4bf1172bc fix length of occ dim2 boundaries 2021-10-04 15:52:56 +02:00
Christopher Lackner
e6a6ab89e6 write transparency in mesh file and also read it if avail
The indexing is a little weird but consistent to before so leave it
like this
2021-10-04 09:27:33 +02:00
Christopher Lackner
ec96feb7f4 occ colors also in netgen gui, also allow transparency 2021-10-03 12:58:33 +02:00
Joachim Schoeberl
e7de90a33f propagate names in MakeFillet and MakeChamfer 2021-10-02 15:32:02 +02:00
Christopher Lackner
1fd4835c72 call mesh.ComputeNVertices in read fnf file 2021-09-30 15:40:38 +02:00
Matthias Hochsteger
50ef307622 Merge branch 'std_any_to_py_object' into 'master'
Add std::any to py::object caster for archive registered types

See merge request jschoeberl/netgen!426
2021-09-29 10:22:17 +00:00
Christopher Lackner
a42f5525a3 remove DirectionalInterval debug output 2021-09-29 08:58:30 +02:00