"Professional CMake" book suggest the following:
"Targets should build successfully with or without compiler support for precompiled headers. It
should be considered an optimization, not a requirement. In particular, do not explicitly include a
precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
generated precompile header on the compiler command line instead. This is more portable across
the major compilers and is likely to be easier to maintain. It will also avoid warnings being
generated from certain code checking tools like iwyu (include what you use)."
Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
It results in an attachment similar to ObjectXY but with the XY plane translated to pass through a selected vertex.
It is most useful to place sketches: pick a plane (XY, XZ, YZ) or another sketch then select a vertex to automatically translate the sketch in the Z-direction. In contrast to the Translate mode it does not change the origin.
* PD: Implement 1D intersection for attachments
Extract a line from the intersection of two faces.
Closes#6870
* fixup! Use Handle macro
For some reason I don't fully understand yet the CI was failing, let's
see if this fixes the compilation errors.
* fixup! Add missing(?) header
Well, it compiles just fine on my system...
* fixup! Be more specific in error messages
- New editor for MapMode with button to open attacher dialog
- Hide attachment properties when they are not applicable
- Disable super placement ui in attacher dialog when object is not attached
- Always select used mode in mode list
New attachment modes:
"Align O-Z-X"
"Align O-Z-Y"
"Align O-X-Y"
"Align O-X-Z"
"Align O-Y-Z"
"Align O-Y-X"
They allow to attach a sketch by picking origin point and sketch axes
directions.
When another bit of information was needed to be extracted from mode
suggestion routine, it felt like listMapModes had too many arguments.
So, the arguments have been collapsed into a struct. This triggered a
few namespace-related changes, which lead to massive search-and-replace
changes all over FreeCAD.
So the only functional change carried out is the addition of reference
types readout to info returned by suggestor.
Modes added:
3D and plane attachment: Inertia CS
Line attachment: Inertia axes
This commit may serve a good example of how to add new attachment modes.