15 #ifndef GEOS_INDEX_STRTREE_ABSTRACTNODE_H
16 #define GEOS_INDEX_STRTREE_ABSTRACTNODE_H
20 #include <geos/export.h>
21 #include <geos/index/strtree/Boundable.h>
27 #pragma warning(disable: 4251)
46 std::vector<Boundable*> childBoundables;
55 AbstractNode(
int newLevel,
size_t capacity = 10) : level(newLevel), bounds(
nullptr) {
56 childBoundables.reserve(capacity);
63 inline std::vector<Boundable*>*
66 return &childBoundables;
71 inline const std::vector<Boundable*>*
72 getChildBoundables()
const
74 return &childBoundables;
90 if(bounds ==
nullptr) {
91 bounds = computeBounds();
109 assert(bounds ==
nullptr);
110 childBoundables.push_back(childBoundable);
113 bool isLeaf()
const override {
119 virtual void* computeBounds()
const = 0;
121 mutable void* bounds;
A node of the STR tree.
Definition: AbstractNode.h:44
const void * getBounds() const override
Definition: AbstractNode.h:89
int getLevel()
Definition: AbstractNode.h:100
void addChildBoundable(Boundable *childBoundable)
Definition: AbstractNode.h:108
A spatial object in an AbstractSTRtree.
Definition: Boundable.h:25
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26