15 #ifndef GEOS_INDEX_STRTREE_ABSTRACTNODE_H 16 #define GEOS_INDEX_STRTREE_ABSTRACTNODE_H 27 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 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*>*
74 return &childBoundables;
90 if(bounds ==
nullptr) {
91 bounds = computeBounds();
109 assert(bounds ==
nullptr);
110 childBoundables.push_back(childBoundable);
119 virtual void* computeBounds()
const = 0;
133 #endif // GEOS_INDEX_STRTREE_ABSTRACTNODE_H
std::vector< Boundable * > childBoundables
const void * getBounds() const override
void addChildBoundable(Boundable *childBoundable)
std::vector< Boundable * > * getChildBoundables()
bool isLeaf() const override
AbstractNode(int newLevel, size_t capacity=10)
Basic namespace for all GEOS functionalities.
A spatial object in an AbstractSTRtree.
const std::vector< Boundable * > * getChildBoundables() const