Add Z offset for arrowheads and explicitly enable depth testing for
constraint lines in SoDatumLabel. This ensures constraint lines render
below geometry (respecting zConstr level) while text and arrowheads
render on top for better visibility and selection.
"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
* Allow arc segment length and angle constraints to go past the center point
* fix angle helper lines
* fix linter warning
* fix arc length calculation
---------
Co-authored-by: Matthias Danner <28687794+matthiasdanner@users.noreply.github.com>
Our GUI code uses a mix of floats and doubles to represent floating
point numbers, and in a few places interchanges them in a way that
causes an invisible loss of precision. Change the double precision
"default" values to float defaults, and use the appropriate value for
pi.
There are possible crashes in the methods:
* SoDatumLabel::getLabelTextCenter()
* SoDatumLabel::generatePrimitives()
The two methods expect three points but do not check that they are defined. Depending on the use case of the SoDatumLabel only
two points may be defined. Accessing a third point is undefined behaviour.