In this path dressup a bogus machine position is used to get an initial edge, this results in a path element which does reflect the input path data and can lead to a tool crash. This PR checks whether X and Y actually come from the input path data and prevent new path elements being added until true machine position has been set.
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=15&t=42820
Until C++11 bit fields with integral types should have explicit signedness only.
It is implementation specific whether an -typed bit field is signed, so there could be unexpected sign extension or overflow.
This means that if depending on the compiler int32_t is not explicitly defined as signed the UnitSignature structure may not work
as expected. Since C++14 this has changed and an int of a bit-field is always signed:
https://stackoverflow.com/questions/33723631/signed-bit-field-in-c14
as discussed with luzpaz in https://github.com/FreeCAD/FreeCAD/pull/3735
there shouldn't be trailing newlines in translated strings.
- Moreover fix the logic of the output dialog text
An empty block after a conditional can be a sign of an omission and can decrease maintainability of the code.
Such blocks should contain an explanatory comment to aid future maintainers.
Some tooltips are made more readable by adding newlines.
For `IFC import`, better tooltip for the `Number of cores` option;
also the `Replace 'Project'...` option.
For `IFC export`, better tooltip for the `Export type`;
also `IFC file units`.
Also add `General options` in case other options are added.
ONLY enabled if the Cloud Module is compiled into FreeCAD
ALL files must be saved into a Cloud Based storage
Add a Signal to the PropertyLink to enable support of external storage
Put the Assembly Document as active document
Signed-off-by: Jean-Marie Verdun <jmverdun3@gmail.com>
Generalize the `extractFaceOffset` method to `getOffsetArea`, which can
handle both face offsetting and projection. Another difference is that
the new method exposes Area's ability to preserve internal holes,
defaulting to preserving. The method is moved to the PathUtils module,
reflecting its generality and fairly wide used across Path.
This method is then used to provide a drop-in alternative to
`FindUnifiedRegions` via a small wrapper in PathSurfaceSupport. The Area
implementation is generally quick, but can fail (throw) in some cases,
so the wrapper is trying the Area method as an optimization first, and
falls back to the full `FindUnifiedRegions` logic if that fails.