This undoes most of the Xerces related part of the commits listed below.
The issue resolved here is that the Xerces include dir *is* set in the
CMakeLists.txt of src/Base, but it got removed from various App and Gui
dirs in src/Mod. If those now include a header from src/Base, which
itself includes xercesc, the build fails using Apple clang version 11.0.0
(clang-1100.0.33.17) on Mojave, configured using cmake 3.22.1, with
errors like the following:
In file included from .../src/Mod/Part/App/FeaturePartBoolean.cpp:34:
In file included from .../src/App/Application.h:33:
.../src/Base/Parameter.h:54:10: fatal error: 'xercesc/util/XercesDefs.hpp' file not found
#include <xercesc/util/XercesDefs.hpp>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Finally, a full list of the commits that introduced this spurious include
dir optimization for reference:
- Drawing: commit 96ad045b91
- Image: commit dde71a21d5
- Import: commit c9d28b542f
- Inspection: commit d41f55f382
- Mesh: commit 19072b0538
- Part: commit fe213a48f0
- PartDesign: commit b037d8e240
- Path: commit f23fa31f42
- Points: commit bec723ba17
- Raytracing: commit 08d4ac63a3
- ReverseEnginering: commit 5ca787cb0e
- Robot: commit bad4809a1c
- Sketcher: commit 3c96daf105
- Spreadsheet: commit 66e8a2bef3
- Start: commit c9dee5e70a
- Surface: commit 6b04215be6
- TechDraw: commit 5e6699e48d
- Test: commit ea5b45b92c
- Web: commit ee6d631531
* Missing reference in range-for with non trivial type [-Wclazy-range-loop-reference]
* Don't call QList::operator[]() on temporary [-Wclazy-detaching-temporary]
* Use multi-arg instead [-Wclazy-qstring-arg]
+ some are doxy others are just comment code.
+ some minor whitespace and grammatical tweaks.
+ app/SCL/* typos have also been submitted upstream (https://github.com/stepcode/stepcode/pull/366). So it's ok to merge them in to master.
In some cases the Geom_BSplineCurve returned by
BrepAdaptor_Curve.BSpline() does not have the
same endpoints as the original Edge and should
not be used in place of Approx_Curve3d.
BRep_Tool::Polygon3D assumes the edge has polygon representation -
ie already been "tesselated". this is not true for all edges,
especially "floating edges".
* getSVG provides new style parameters for every kind of line:
V, V0, V1, H, H0, H1.
* Old line width parameters are removed. The style parameters
can be used instead.
* A style is a map container for svg attribute keys and values
(string, string).
* The Python interface is updated to offer the new style parameters
accordingly as a dict.
* Because there are many parameters on the function call now,
the Python interface supports keyword parameters.
* Update ArchSectionPlane to take advantage of the new style parameters.
This simplifies the code. String replacements could be removed
(done in a later commit).
* FeatureViewPy.cpp is – to my knowledge – the only function that used the
old line width parameters. I rewrote it to use the new style parameters.