Inserts a new bounding box into an RTree node and handles node splitting if necessary.
If the node is a leaf and already contains the maximum number of items (MAXITEMS
), the function sets the split
flag to true
to indicate that the node needs to be split. For non-leaf nodes, the function determines the appropriate child node for insertion and recursively inserts the bounding box. If splitting occurs, the function handles the split and updates the parent node's bounding boxes.
- Parameters
-
[in] | rtree | Pointer to the RTree structure that provides axis value retrieval and node splitting functions |
[in] | node_bounding_box | Pointer to the bounding bounding box of all the bounding boxes in node |
[in] | node | Pointer to the node where the bounding box is being inserted |
[in] | new_box | Pointer to the bounding box to be inserted |
[in] | id | Identifier associated with the new bounding box (used only for leaf nodes) |
[out] | split | Pointer to a boolean flag that indicates if the node was split during insertion |