Open CASCADE Technology: NCollection_EBTree< TheObjType, TheBndType > Class Template Reference

Open CASCADE Technology 6.8.0

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Types | Public Member Functions | Data Fields
NCollection_EBTree< TheObjType, TheBndType > Class Template Reference

`#include <NCollection_EBTree.hxx>`

Inheritance diagram for NCollection_EBTree< TheObjType, TheBndType >:
[legend]

## Public Types
typedef NCollection_UBTree < TheObjType, TheBndType > | UBTree
typedef TYPENAME UBTree::TreeNode | TreeNode

## Public Member Functions
Standard_Boolean | Remove (const TheObjType &theObj)
Standard_Boolean | Contains (const TheObjType &theObj) const
const TreeNode & | FindNode (const TheObjType &theObj) const
void | Clear (const Handle< NCollection_BaseAllocator > &aNewAlloc=0L)
Public Member Functions inherited from NCollection_UBTree< TheObjType, TheBndType >
| NCollection_UBTree (const Handle< NCollection_BaseAllocator > &theAllocator=0L)
virtual Standard_Boolean | Add (const TheObjType &theObj, const TheBndType &theBnd)
virtual Standard_Integer | Select (Selector &theSelector) const
Standard_Boolean | IsEmpty () const
const TreeNode & | Root () const
virtual | ~NCollection_UBTree ()
const Handle < NCollection_BaseAllocator > & | Allocator () const

## Data Fields
| __pad0__: UBTree (theAllocator) {} 1 Standard_Boolean Add (const TheObjType& theObj
const TheBndType & | theBnd

## Additional Inherited Members
Protected Member Functions inherited from NCollection_UBTree< TheObjType, TheBndType >
TreeNode & | ChangeLastNode ()
Standard_Integer | Select (const TreeNode &theBranch, Selector &theSelector) const

## Detailed Description

### template<class TheObjType, class TheBndType>
class NCollection_EBTree< TheObjType, TheBndType >

The algorithm of unbalanced binary tree of overlapped bounding boxes with the possibility of deleting objects from the tree.

In addition to the requirements to the object type defined in the parent class this class requires that the object can be hashed and compared to another object (functions HashCode and IsEqual are defined for it), since the class NCollection_DataMap is used where the object plays the role of the key.

## Member Typedef Documentation

template<class TheObjType , class TheBndType >

typedef TYPENAME UBTree::TreeNode NCollection_EBTree< TheObjType, TheBndType >::TreeNode

template<class TheObjType , class TheBndType >

typedef NCollection_UBTree<TheObjType, TheBndType> NCollection_EBTree< TheObjType, TheBndType >::UBTree

## Member Function Documentation

template<class TheObjType , class TheBndType >

void NCollection_EBTree< TheObjType, TheBndType >::Clear | ( | const Handle< NCollection_BaseAllocator > & | aNewAlloc = `0L` | ) |
| inlinevirtual

Clears the contents of the tree. Redefined virtual method

Reimplemented from NCollection_UBTree< TheObjType, TheBndType >.

template<class TheObjType , class TheBndType >

Standard_Boolean NCollection_EBTree< TheObjType, TheBndType >::Contains | ( | const TheObjType & | theObj | ) | const
| inline

Returns
  True if the tree contains the object.

template<class TheObjType , class TheBndType >

const TreeNode& NCollection_EBTree< TheObjType, TheBndType >::FindNode | ( | const TheObjType & | theObj | ) | const
| inline

Returns
  The leaf node containing the object.

template<class TheObjType , class TheBndType >

Standard_Boolean NCollection_EBTree< TheObjType, TheBndType >::Remove | ( | const TheObjType & | theObj | ) |

Removes the given object and updates the tree.

Returns
  False if the tree does not contain theObj

## Field Documentation

template<class TheObjType , class TheBndType >

NCollection_EBTree< TheObjType, TheBndType >::__pad0__

Constructor.

template<class TheObjType , class TheBndType >

const TheBndType& NCollection_EBTree< TheObjType, TheBndType >::theBnd

The documentation for this class was generated from the following file:

- NCollection_EBTree.hxx