// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _Bnd_BoundSortBox_HeaderFile #define _Bnd_BoundSortBox_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Bnd_Box_HeaderFile #include #endif #ifndef _Handle_Bnd_HArray1OfBox_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _TColStd_DataMapOfIntegerInteger_HeaderFile #include #endif #ifndef _TColStd_ListOfInteger_HeaderFile #include #endif #ifndef _Standard_Address_HeaderFile #include #endif class Bnd_HArray1OfBox; class Standard_NullValue; class Standard_MultiplyDefined; class Bnd_Box; class TColStd_ListOfInteger; class gp_Pln; //! A tool to compare a bounding box or a plane with a set of
//! bounding boxes. It sorts the set of bounding boxes to give
//! the list of boxes which intersect the element being compared.
//! The boxes being sorted generally bound a set of shapes,
//! while the box being compared bounds a shape to be
//! compared. The resulting list of intersecting boxes therefore
//! gives the list of items which potentially intersect the shape to be compared.
class Bnd_BoundSortBox { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Constructs an empty comparison algorithm for bounding boxes.
//! The bounding boxes are then defined using the Initialize function.
Standard_EXPORT Bnd_BoundSortBox(); //! Initializes this comparison algorithm with
//! - the set of bounding boxes SetOfBox.
Standard_EXPORT void Initialize(const Bnd_Box& CompleteBox,const Handle(Bnd_HArray1OfBox)& SetOfBox) ; //! Initializes this comparison algorithm with
//! - the set of bounding boxes SetOfBox, where
//! CompleteBox is given as the global bounding box of SetOfBox.
Standard_EXPORT void Initialize(const Handle(Bnd_HArray1OfBox)& SetOfBox) ; //! Initializes this comparison algorithm, giving it only
//! - the maximum number nbComponents
//! of the bounding boxes to be managed. Use the Add
//! function to define the array of bounding boxes to be sorted by this algorithm.
Standard_EXPORT void Initialize(const Bnd_Box& CompleteBox,const Standard_Integer nbComponents) ; //! Adds the bounding box theBox at position boxIndex in
//! the array of boxes to be sorted by this comparison algorithm.
//! This function is used only in conjunction with the third
//! syntax described in the synopsis of Initialize.
Standard_EXPORT void Add(const Bnd_Box& theBox,const Standard_Integer boxIndex) ; //! Compares the bounding box theBox,
//! with the set of bounding boxes to be sorted by this
//! comparison algorithm, and returns the list of intersecting
//! bounding boxes as a list of indexes on the array of
//! bounding boxes used by this algorithm.
Standard_EXPORT const TColStd_ListOfInteger& Compare(const Bnd_Box& theBox) ; //! Compares the plane P
//! with the set of bounding boxes to be sorted by this
//! comparison algorithm, and returns the list of intersecting
//! bounding boxes as a list of indexes on the array of
//! bounding boxes used by this algorithm.
Standard_EXPORT const TColStd_ListOfInteger& Compare(const gp_Pln& P) ; Standard_EXPORT void Dump() const; Standard_EXPORT void Destroy() ; ~Bnd_BoundSortBox() { Destroy(); } protected: private: //! Prepares BoundSortBox and sorts the boxes of
//! .
Standard_EXPORT void SortBoxes() ; Bnd_Box myBox; Handle_Bnd_HArray1OfBox myBndComponents; Standard_Real Xmin; Standard_Real Ymin; Standard_Real Zmin; Standard_Real deltaX; Standard_Real deltaY; Standard_Real deltaZ; Standard_Integer discrX; Standard_Integer discrY; Standard_Integer discrZ; Standard_Integer theFound; TColStd_DataMapOfIntegerInteger Crible; TColStd_ListOfInteger lastResult; Standard_Address TabBits; }; // other Inline functions and methods (like "C++: function call" methods) #endif