Adaptor2d_Curve2d, Adaptor3d_Curve and Adaptor3d_Surface now inherit Standard_Transient.
Interfaces Adaptor2d_HCurve2d, Adaptor3d_HCurve, Adaptor3d_HSurface and their subclasses
are now aliases to Adaptor2d_Curve2d, Adaptor3d_Curve and Adaptor3d_Surface.
Removed numerous unsafe reinterpret casts.
Generic classes Adaptor3d_GenHCurve, Adaptor3d_GenHSurface, Adaptor2d_GenHCurve2d have been removed.
Several redundant .lxx files have been merged into .hxx.
Removed obsolete adaptor classes with H suffix.
Add possibility of construction of the Optimal Oriented Bounding Box from set of points (the case of shape with triangulation).
The interface of the BRepBndLib::AddOBB method is not changed, but the option <theIsOptimal> now controls also the construction of the OBB from Set of points.
The slightly modified DiTo algorithm will be used, checking all possible axes created by the extreme points.
The performance of the construction of the Optimal OBB is lower but the quality is usually much higher (can't be worse by definition).
Test cases for the issue.
1. The class Bnd_OBB has been created to describe the Oriented Bounding Box.
2. Several key methods have been implemented: Bnd_OBB::IsOut(...), Bnd_OBB::Add(...) and Bnd_OBB::Enlarge(...).
3. Interface of Bnd_Box class has changed. New methods have been created. See Bnd_Box.hxx for detailed information.
4. BRepBndLib and Draw_Box classes have been amended in order to provide correct work with Bnd_OBB class.
5. Interface of "bounding" DRAW-command has been changed. Please see help for detailed information.
6. New DRAW-command "isbbinterf" has been created. Please see help for detailed information.
7. "boundingstr" and "optbounding" DRAW-commands have been eliminated because their function can be made by "bounding" DRAW-command (e.g. see tests/bugs/vis/buc60857 or samples/tcl/snowflake.tcl test cases).
8. Documentation has been updated.