Commit Graph

609 Commits

Author SHA1 Message Date
wmayer
abf1cd1586 Mesh: [skip ci] update tri-tri-intersection 2021-10-19 15:14:36 +02:00
wmayer
837de28e9e Mesh: expose trimByPlane to Python 2021-10-15 23:07:59 +02:00
wmayer
8c03581140 Mesh: [skip ci] add unit test for self-intersection 2021-10-13 17:29:18 +02:00
Noah
f1d1778a73 Mesh: fix WildMagic4 build on Darwin AArch64 (Apple M1)
A previous fix from 2012 excluded the x86_64 platfrom from using 32-bit Carbon APIs.

- https://tracker.freecadweb.org/view.php?id=656 (WildMagic4 doesn't build on 64-bit Mac OS)

Apply the same fix for AArch64 to ensure that the Mesh module can be built on Apple M1.
2021-10-06 22:47:48 +02:00
wmayer
5235af1d47 Mesh: [skip ci] add unit test for corrupted facets 2021-10-06 21:58:37 +02:00
wmayer
7b45d63bf2 App: use consistent spelling of SubElement 2021-10-06 18:09:53 +02:00
wmayer
6c23e2be1c Mesh: implement sub-element handling 2021-10-06 17:19:38 +02:00
bartus
0c3ba910aa Fix linux build: undefined std:string_view
Pop 'mesh' library c++ stranderd to c++17
Add required <string_view> header
2021-10-03 14:36:16 +02:00
Chris Hennes
822bc86894 Mesh: remove unused variable in Nastran reader 2021-09-29 16:34:58 -05:00
wmayer
e1c5bfab1f Mesh: add method MeshAlgorithm::GetFacetsBorders 2021-09-29 22:33:45 +02:00
wmayer
1d9ba918ac Mesh: [skip ci] rename MeshAlgorithm::GetMeshBorder to MeshAlgorithm::GetFacetBorder 2021-09-29 19:38:52 +02:00
wmayer
8ff9bbc930 Mesh: improve function to fix points on edge 2021-09-29 19:32:18 +02:00
wmayer
3dd5438880 Mesh: [skip ci] when points lie exactly on a plane it can happen that a plane fit creates U,V vectors with NaN while W is valid 2021-09-29 12:35:28 +02:00
wmayer
0a9d08218a Mesh: detect points on edges 2021-09-28 22:30:21 +02:00
Chris Hennes
bd4623a2a3 [Mesh] Improve unit tests
Add a test for the CTRIA3 element, and add code to check the used nodes
and cancel the file load if they don't all exist.
2021-09-25 19:42:00 -05:00
Chris Hennes
b10dc6757a Merge branch 'master' into meshNastranFileFormat 2021-09-25 16:34:33 -05:00
Chris Hennes
d3509a63fd [Mesh] Add unit tests for NASTRAN reader
Also make some minor deprecation and verbosity cleanups to the Mesh unit
test cases.
2021-09-25 16:05:19 -05:00
wmayer
bd46e970d9 Mesh: [skip ci] change MeshTopoAlgorithm::SplitOpenEdge to return a boolean to indicate if the operation succeeded or not 2021-09-25 14:52:49 +02:00
Chris Hennes
7655e7347d [Mesh] Improve NASTRAN input support
Adds support for original-NASTRAN fixed-field-width low-precision GRID
element (the existing code assumed space-delimited input).
2021-09-22 11:58:04 -05:00
Chris Hennes
e233ba54e6 Merge pull request #5047 from chennes/lgtmMeshEmptyBlocks
[Mesh] Implement high-precision NASTRAN GRID* element
2021-09-22 09:22:48 -05:00
wmayer
fc83fd1fc8 port to MSYS2/clang: suppress 'undefined-var-template' warnings 2021-09-22 14:09:07 +02:00
Chris Hennes
f9f08f8805 [Mesh] Implement GRID* input in NASTRAN
LGTM complained about two empty blocks in the Mesh NASTRAN reader: those
blocks related to the code skipping the input of the high-precision GRID
element. This commit adds support for that element.
2021-09-20 10:32:10 -05:00
wmayer
e211b89cf8 port to MSYS2/clang 2021-09-19 19:49:44 +02:00
wmayer
3ab5dadd82 Mesh: add function section() to Mesh class 2021-09-16 17:31:45 +02:00
wmayer
33f3fa6865 Mesh: define the typenames FacetIndex and PointIndex to distinguish between facet and point related indexes 2021-09-14 23:01:29 +02:00
wmayer
40d2955c66 Base: split export/import macros from FCConfig.h and move them to FCGlobal.h
The FCGlobal.h can be included in a Global.h header file of an extension module.

The reason is that some IDEs (e.g. QtCreator) fails to detect the export/import macros when only defined in the PreCompiled.h files and thus raise a parser warning.
2021-09-14 16:40:30 +02:00
Megidd Git
c3df0db4f7 Mesh: fix infinite loop when repairing mesh facet indices 2021-09-12 09:13:57 +04:30
Ajinkya Dahale
11f89dd641 [Mesh] Skip false positive tests for coplanar self-intersections
Fixes issue #4732.

Within the code, a different algorithm is used for intersection checks when
faces are found to be coplanar. That algorithm does not return the "intersection
line", which is used to remove false-positives. This however results in
false-negatives.
2021-08-31 11:11:11 -04:00
wmayer
b69ef38c7f allow to enable PCH for gcc and clang 2021-05-03 17:37:58 +02:00
luz paz
086063f75e Mesh: remove py2 code 2021-04-25 11:26:39 +02:00
wmayer
2c072c7092 Mesh: [skip ci] fixes #0004430: Mesh_BuildRegularSolid: parametric mesh props have no units in Property editor 2021-04-21 14:50:45 +02:00
wmayer
f4e3e8abd6 Mesh: [skip ci] refactor Mesh open/import functions 2021-03-20 21:54:30 +01:00
wmayer
182952a881 Mesh: [skip ci] do not make lower case read lines of OBJ file as otherwise it may fail to load the MTL file 2021-03-20 19:19:30 +01:00
wmayer
9f937f765d Mesh: [skip ci] fix regular expression in MeshInput 2021-03-10 17:49:05 +01:00
wmayer
91c36f9ab1 Mesh: [skip ci] Fix coverity warning
Coverity warnings fixed:

CID 316517 (#1 of 1): Uninitialized scalar variable (UNINIT)
13. uninit_use_in_call: Using uninitialized value t. Field t.err is uninitialized when calling push_back

CID 316519 (#1 of 1): Uninitialized scalar variable (UNINIT)
3. uninit_use_in_call: Using uninitialized value v. Field v.tstart is uninitialized when calling push_back

CID 316547 (#1 of 1): Uninitialized scalar variable (UNINIT)
13. uninit_use_in_call: Using uninitialized value t. Field t.err is uninitialized when calling push_back

CID 316556 (#1 of 1): Uninitialized scalar variable (UNINIT)
3. uninit_use_in_call: Using uninitialized value v. Field v.tstart is uninitialized when calling push_back
2021-02-21 15:51:56 +01:00
wmayer
ed87303802 Mesh: add unit tests for splitting facets 2021-02-14 12:33:29 +01:00
wmayer
d941c114cb Mesh: [skip ci] expose some mesh evaluation functions to Python 2021-02-14 12:02:45 +01:00
wmayer
00cce75bd5 Mesh: [skip ci] replace tabs with spaces 2021-02-14 11:26:53 +01:00
wmayer
1b42828d25 Mesh: [skip ci] implement splitFacet 2021-02-14 00:54:30 +01:00
Chris Hennes
feb4ffc693 Correct minimum distance calculation in SplitFacet
Found via LGTM.
2021-02-12 21:59:50 +01:00
Chris Hennes
3ef6e1c6d0 [OTHER] Catch only Exception, not BaseException 2021-02-11 11:52:45 +01:00
Chris Hennes
5d0cf1081e LGTM: Eliminate float-to-double overflow warning
LGTM complains if this calculation is done from inside the sqrt() call
because it sees the explicit cast to float and assumes that sqrt() is
intended to take a double. By adding an intermediate step it should be
clear to LGTM that the float version of sqrt is intended.
2021-02-09 20:01:13 +01:00
Chris Hennes
081cc4d9eb Remove extra comma in Asymptote surface color definition
Found via LGTM.
2021-02-08 10:50:18 +01:00
Chris Hennes
05dd6c287c Silence incorrect LGTM warning. 2021-02-08 10:48:17 +01:00
wmayer
4719bb703d Mesh: [skip ci] fix MeshPy::trim 2021-02-07 13:12:23 +01:00
Zheng, Lei
db9525e7d7 Mesh: minor change to exporter based on suggestion 2021-02-06 17:13:36 +01:00
Zheng, Lei
ea61253c67 Mesh: refactor mesh exporter for better support of Link 2021-02-06 17:13:36 +01:00
wmayer
e81482c7f9 Mesh: [skip ci] improve reading OFF mesh format 2020-11-03 11:15:37 +01:00
wmayer
ebb43351d1 Mesh: [skip ci] improve reading OFF mesh format 2020-11-02 16:36:07 +01:00
wmayer
df9282dc12 C++11: [skip ci] replace deprecated function std::mem_fun_ref with lambda functions 2020-10-15 18:55:29 +02:00