ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
tile_index.hpp File Reference
#include <reusex/core/ProjectDB.hpp>
#include <cstdint>
#include <string_view>
#include <utility>
#include <vector>
Include dependency graph for tile_index.hpp:

Go to the source code of this file.

Classes

struct  reusex::pipeline::TileIndexHeader
 Header of a serialized tile index blob (version 2). More...
struct  reusex::pipeline::TileInfo
 Per-tile AABB and point count within the tile. More...

Namespaces

namespace  reusex
namespace  reusex::pipeline

Functions

uint32_t reusex::pipeline::morton_tile_sort_key (float x, float y, float z, const float lo[3], const float range[3])
 30-bit bit-reversed Morton sort key of (x, y, z) quantised to 10 bits per axis over the box starting at lo with extent range (each > 0).
std::vector< uint8_t > reusex::pipeline::compute_tile_index (const ProjectDB &db, std::string_view name, uint32_t tile_bits=6)
 Compute the spatial tile index for a morton_10bit_bitrev cloud.
std::pair< TileIndexHeader, std::vector< TileInfo > > reusex::pipeline::parse_tile_index (const std::vector< uint8_t > &blob)
 Deserialize the header + tile array from a tile index blob.
std::size_t reusex::pipeline::build_tile_index (ProjectDB &db, std::string_view name)
 Build and store the tile index of cloud name when it is Morton-ordered.

Variables

constexpr uint32_t reusex::pipeline::kTileIndexMagic = 0x52555854u
 Magic number identifying a tile index blob.
constexpr std::string_view reusex::pipeline::kMortonStorageOrder = "morton_10bit_bitrev"
 The storage order a cloud must have for a tile index to make sense.