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.
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.
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.
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.
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
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.