Now all escaping required for the C++ code generation is done when the
.cpp/.h files are generated. Previously, only newlines were escaped
automatically. This was a) inconsistent and b) leaked c++ details into
the xml data.
In addition, the escaping is now done in one central place, harmonizing
the three previous implementations.
Pre-existing c++ escape sequences in the XML files have been replaced by
their literal equivalent so that the resulting python doc sting remains
unchanged.
Avoid spurious diffs from inadvertent newline changes by letting git
normalize newlines in the path module as well, just as a list of other
modules including Draft already do.
This effectively standardizes all checked-in code to Unix newlines, but
checkouts might use CRLF if that is the user preference.
* Fixed non-circular curve orientation handling
* Section changed to use Part::CrossSection, because it seems
BRepAlgoAPI_Section has trouble with non-circular curves (LastParameter
becomes huge which causes discretization to produce many many points)
* Exposed Area.makeSections() to section with variable heights
* Modified Area.setPlane() to accept non-planar shape
* Exposed Area.getPlane() to obtain current workplane
* Exposed Area.Shapes attribute to return the current holding children
shape.
* Path.fromShapes can now convert any number of shapes to Path with
optimzied travel distances. It internally uses Path.sortWires to
minimize travel distances, and also sort wires by its Z height in case
of sectioned wires.
* The above python function is impelmented in Path::Area class.
* Path::FeatureShape is rewrote to take advantage of these two
functions.
* Add Path::FeatureAreaView to partially display a Path::FeatureArea's
sections.