In a previous PR of mine I have reorganized some lines of code in DraftGui.py without realizing that this would reposition checkboxes. This PR fixes that.
Renamed to makeElementCompound and modified as little as possible to get it to compile in the new framework. All required auxilliary methods are also brought in.
updated to JSON version 3.11.3
Add missing <numeric> header include. #3717#3718#3719
Replace uses of INT_MIN/INT_MAX, etc. with
std::numeric_limits and consistently use std-namespaced integer types to make library work with newer GCC versions. #3722#3723
Add missing files (json_fwd.hpp and Bazel build files) to release artifact include.zip. #3727#3728
Fix 'declaration hides global declaration' warning. #3751
Fix natvis XML. #3858#3863
Fix warning about moved from object. #3805#3889
Remove a magic number to fix a warning. #3837#3888
Fix debug pretty-printer by checking if match is valid before accessing group. #3919#3920
Fix custom allocators by defining missing rebind type. #3895#3927
Prevent memory leak when exception is thrown in adl_serializer::to_json #3881#3901
Fix Clang-Tidy warnings. #4047
Fix init-list construction when size_type is not int. #4140
Fix deprecation warning "identifier _json preceded by whitespace in a literal operator declaration". #4129#4161
Fix compile error with _HAS_STATIC_RTTI=0. #4046
Fix char_traits deprecation warning "char_traits<unsigned char> is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard". #4163#4179
As every page is contained in the same QScrollArea we must ensure that
after page is changed the scrolled area is scrolled back to top-left
corner.
Fixes: #11981
Issue 8064 occurs when FreeCAD passes a Voronoi diagram to
Boost that becomes self-intersecting when Boost truncates the
diagram's coordinates to integers. This occurs when the discretizer
slightly misses closing the polygon generated for the letter by less
that FreeCAD's epsilon, then the wrapping Python code closes the
polygon by adding the initial polygon point as the final point.
This creates a short segment that, depending on the position of
the letter in the coordinate system, may end up being moved one
Boost coordinate delta away from the intended point, which can
end up self-intersecting.
Since the miss is very small, FreeCAD should treat it as it it
were the initial point. There's no need for a duplicate copy of
the initial point, so we remove this point close to the initial
point and let insert_many_wires() close the polygon as usual.
In realthunder's original version this class was not derived from TopoDS_Shape, but rather duplicated
its interface and wrapped its non-const methods. This resulted in quite a lot of boilerplate, so in
the merged implementation we are now deriving from TopoDS_Shape and only overriding the non-const
methods. The downside is that if OCCT adds or changes methods we will have to add them proactively
to this class so that they don't bypass the TNP code.
The function would trigger the creation of duplicate Draft Polar Arrays (only on Linux and only if the Fuse option is selected and the Link Array option deselected).
Forum topic:
https://forum.freecad.org/viewtopic.php?t=84090
The reapply_diffuse_color function is no longer required anyway as Issue #8340 has been fixed.