FlatCityBuf C++ reader 0.8.0
Native C++17 reader for FlatCityBuf, the cloud-optimized CityJSON format
Loading...
Searching...
No Matches
packed_rtree.hpp File Reference
#include <fcb/error.hpp>
#include <fcb/range_reader.hpp>
#include <fcb/span.hpp>
#include <cstdint>
#include <vector>

Go to the source code of this file.

Classes

struct  fcb::BBox
 A 2D query rectangle. More...
 
struct  fcb::NodeItem
 One R-tree node entry: 4 doubles then a u64, all little-endian, 40 bytes with no padding (packed_rtree/mod.rs:23-33). More...
 
struct  fcb::LevelBound
 Half-open [start, end) node index range for one tree level, in the flat node array shared by every level. More...
 

Namespaces

namespace  fcb
 

Functions

std::uint64_t fcb::rtree_num_nodes (std::uint64_t num_items, std::uint16_t node_size)
 Total node count in the tree, per the Rust level-bounds loop (packed_rtree/mod.rs:342-375).
 
std::vector< LevelBoundfcb::rtree_level_bounds (std::uint64_t num_items, std::uint16_t node_size)
 Mirrors generate_level_bounds (packed_rtree/mod.rs:342-375).
 
std::vector< SearchResultItemfcb::rtree_search_bbox (RangeReader &reader, std::uint64_t index_begin, std::uint64_t num_items, std::uint16_t node_size, const BBox &query)
 Breadth-first bbox search over the packed R-tree, reading nodes through the supplied reader.