#include <Standard_Boolean.hxx>
class TopoDS_Shape;
class Bnd_Box;
+class Bnd_OBB;
//! This package provides the bounding boxes for curves
const Standard_Boolean useShapeTolerance = Standard_False);
+ //! Computes the Oriented Bounding box for the shape <theS>.
+ //! Two independent methods of computation are implemented:
+ //! first method based on set of points (so, it demands the
+ //! triangulated shape or shape with planar faces and linear edges).
+ //! The second method is based on use of inertia axes and is called
+ //! if use of the first method is impossible.
+ //! If theIsTriangulationUsed == FALSE then the triangulation will
+ //! be ignored at all.
+ //! If theIsShapeToleranceUsed == TRUE then resulting box will be
+ //! extended on the tolerance of the shape.
+ //! theIsOptimal flag defines whether to look for the more tight
+ //! OBB for the cost of performance or not.
+ Standard_EXPORT static
+ void AddOBB(const TopoDS_Shape& theS,
+ Bnd_OBB& theOBB,
+ const Standard_Boolean theIsTriangulationUsed = Standard_True,
+ const Standard_Boolean theIsOptimal = Standard_False,
+ const Standard_Boolean theIsShapeToleranceUsed = Standard_True);
protected: