37class GEOS_DLL SimpleSTRnode :
public ItemBoundable {
41 std::vector<SimpleSTRnode*> childNodes;
51 SimpleSTRnode(std::size_t newLevel,
const geom::Envelope *p_env,
void* p_item, std::size_t capacity = 10)
52 : ItemBoundable(p_env, p_item)
57 childNodes.reserve(capacity);
64 SimpleSTRnode(std::size_t newLevel)
65 : SimpleSTRnode(newLevel,
nullptr,
nullptr)
68 void toString(std::ostream& os,
int indentLevel)
const;
70 std::size_t getNumNodes()
const;
71 std::size_t getNumLeafNodes()
const;
73 const std::vector<SimpleSTRnode*>&
79 void* getItem()
const {
83 bool removeItem(
void *item);
84 bool removeChild(SimpleSTRnode *child);
105 std::size_t size()
const {
106 return childNodes.size();
115 bool isLeaf()
const override
120 bool isComposite()
const