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) // warning C4251: needs to have dll-interface to be used by clients of class 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;
133 #endif // GEOS_INDEX_STRTREE_ABSTRACTNODE_H const void * getBounds() const override
Definition: AbstractNode.h:89
void addChildBoundable(Boundable *childBoundable)
Definition: AbstractNode.h:108
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25
A node of the STR tree.
Definition: AbstractNode.h:44
A spatial object in an AbstractSTRtree.
Definition: Boundable.h:25
int getLevel()
Definition: AbstractNode.h:100