21 #include "hurricane/Box.h"
22 #include "hurricane/Gos.h"
23 #include "hurricane/IntrusiveSet.h"
37 public:
class GoSet :
public IntrusiveSet<Go> {
40 public:
typedef IntrusiveSet<Go> Inherit;
44 public:
virtual unsigned _getHashValue(
Go* go)
const;
45 public:
virtual Go* _getNextElement(
Go* go)
const;
46 public:
virtual void _setNextElement(
Go* go,
Go* nextGo)
const;
56 private:
Box _boundingBox;
57 private:
unsigned _size;
58 private: GoSet _goSet;
94 public:
bool isEmpty()
const {
return (_size == 0);};
105 public:
string _getTypeName()
const {
return _TName(
"QuadTree"); };
106 public:
string _getString()
const;
107 public: Record* _getRecord()
const;
109 public: GoSet& _getGoSet() {
return _goSet;};
110 public:
QuadTree* _getDeepestChild(
const Box& box);
111 public:
QuadTree* _getFirstQuadTree()
const;
112 public:
QuadTree* _getFirstQuadTree(
const Box& area)
const;
113 public:
QuadTree* _getNextQuadTree();
114 public:
QuadTree* _getNextQuadTree(
const Box& area);
116 public:
bool _hasBeenExploded()
const {
return (_ulChild != NULL);};
118 public:
void _explode();
119 public:
void _implode();
128 INSPECTOR_P_SUPPORT(Hurricane::QuadTree::GoSet);
Box description (API)
Definition: Box.h:31
std::int64_t Unit
Definition: DbU.h:67
Generic Collection auto-pointer.
Definition: Collection.h:235
Go description (API)
Definition: Go.h:34
QuadTree description (API)
Definition: QuadTree.h:33
Gos getGosUnder(const Box &area, DbU::Unit threshold=0) const
const Box & getBoundingBox() const
bool isEmpty() const
Definition: QuadTree.h:94
The namespace dedicated to Hurricane.
Definition: Generalities.dox:5