0024166: Unable to create file with "Save" menu of voxeldemo Qt sample
[occt.git] / src / BOPDS / BOPDS_BoxBndTree.hxx
CommitLineData
4e57c75e 1// Created by: Peter KURNEV
2// Copyright (c) 2010-2012 OPEN CASCADE SAS
3// Copyright (c) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
4// Copyright (c) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT,
5// EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6//
7// The content of this file is subject to the Open CASCADE Technology Public
8// License Version 6.5 (the "License"). You may not use the content of this file
9// except in compliance with the License. Please obtain a copy of the License
10// at http://www.opencascade.org and read it completely before using this file.
11//
12// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
13// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14//
15// The Original Code and all software distributed under the License is
16// distributed on an "AS IS" basis, without warranty of any kind, and the
17// Initial Developer hereby disclaims all such warranties, including without
18// limitation, any warranties of merchantability, fitness for a particular
19// purpose or non-infringement. Please see the License for the specific terms
20// and conditions governing the rights and limitations under the License.
21
22
23#ifndef NMTDS_BoxBndTree_HeaderFile
24#define NMTDS_BoxBndTree_HeaderFile
25
26#include <NCollection_UBTree.hxx>
27#include <Bnd_Box.hxx>
28#include <BOPCol_ListOfInteger.hxx>
29/**
30 * The instantiation of the algorithm of unbalanced binary tree
31 * of overlapped bounding boxes.
32 *
33*/
34typedef NCollection_UBTree <Standard_Integer , Bnd_Box> BOPDS_BoxBndTree;
35
36 class BOPDS_BoxBndTreeSelector : public BOPDS_BoxBndTree::Selector {
37 public:
38 Standard_EXPORT BOPDS_BoxBndTreeSelector();
39 Standard_EXPORT virtual Standard_Boolean Reject(const Bnd_Box&) const;
40 Standard_EXPORT virtual Standard_Boolean Accept(const Standard_Integer &);
41 Standard_EXPORT virtual ~BOPDS_BoxBndTreeSelector();
42
43 Standard_EXPORT void Clear();
44 Standard_EXPORT void SetBox(const Bnd_Box&);
45 Standard_EXPORT const BOPCol_ListOfInteger& Indices() const;
46
47 protected:
48 Bnd_Box myBox;
49 BOPCol_ListOfInteger myIndices;
50
51 };
52
53#endif