For certain OCCT versions in the file ShapeUpgrade_UnifyDomain a method of the class Precision is used but Precision.hxx is not included which can lead to a build failure.
+ rename getCurve2dFromGeom2d to makeFromCurve2d
+ add function makeFromCurve and makeFromTrimmedCurve like makeFromSurface
+ implement OffsetCurve.BasisCurve
+ fix memory leak in BRepOffsetAPI_MakePipeShellPy
the UI and the property is not consistent. In the dialog we use the term angle upon user feedback while the property still has the name "skew" in it.
I simply forgot this change in my PR that implemented skew prisms.
This is now corrected by this PR.
===========================================
In OCCT 7.4 (and apparently <= 7.4 too):
A GeomAdaptor_Curve obtained directly from BRepAdaptor_Curve will not work because it won't respect the
Location/orientation of the underlying curve.
This commit proposes to create a new GeomAdaptor_Curve from an intermediary curve handle to work around
this issue.
OCC currently does not reliably enforce linear deflection on curved
surfaces, especially curved lofts over nurbs splines. To avoid surprises
when tight tolerances are needed, replace the static default angular
deflection of 0.5 radians (~28 degrees), with a more sensible angular
deflection derived from the provided linear deflection tolerance.
By adding the default heuristic to TopoShape, we can keep typical
tessellate() and STL export functionality users simple, and also avoid
the need to implement similar heuristics in many places. If more
explicit control over angular deflection is needed for some use cases,
then we could still choose to expose the option to override the derived
default explicitly.
The hope is that OCC's linear deflection enforcement will be more
reliable at some point, at which point this heuristic will no longer be
needed.