ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
rux::gui::LodSelection Struct Reference

The outcome of a voxel selection over one whole cloud. More...

#include <point_lod.hpp>

Collaboration diagram for rux::gui::LodSelection:

Public Attributes

reusex::ProjectDB::CloudPage page
 The selected records, in storage layout, ascending by point index.
std::vector< uint64_t > indices
 Storage indices of the selected points, ascending and unique.
bool subsampled = false
 False when the cloud already fit the budget and every point was returned.
double voxel_size = 0.0
 Edge length of the final voxel, in cloud units (metres for a scan).
uint64_t skipped_non_finite = 0
 Points skipped because a coordinate was NaN or infinite.

Detailed Description

The outcome of a voxel selection over one whole cloud.

Definition at line 37 of file point_lod.hpp.

Member Data Documentation

◆ indices

std::vector<uint64_t> rux::gui::LodSelection::indices

Storage indices of the selected points, ascending and unique.

Exported so a sibling cloud of the same scan can be sampled at the same points — the only way a Label cloud, which carries no positions of its own, can be zipped against a subsampled geometry cloud (gather_points).

Definition at line 51 of file point_lod.hpp.

◆ page

reusex::ProjectDB::CloudPage rux::gui::LodSelection::page

The selected records, in storage layout, ascending by point index.

offset is 0 and total is the size of the whole cloud, so the page says exactly what it is: count points drawn from all total of them. The points are not contiguous in storage, which is why a page built from this must advertise itself (RUXP flags bit 0, JSON lod: true).

Definition at line 44 of file point_lod.hpp.

◆ skipped_non_finite

uint64_t rux::gui::LodSelection::skipped_non_finite = 0

Points skipped because a coordinate was NaN or infinite.

A PCL cloud may legitimately carry them; binning them would put the whole grid at a nonsense scale, so they are dropped and counted (STANDARDS §5).

Definition at line 65 of file point_lod.hpp.

◆ subsampled

bool rux::gui::LodSelection::subsampled = false

False when the cloud already fit the budget and every point was returned.

A caller must not claim LOD on the wire in that case: the page is then an ordinary complete, storage-ordered read.

Definition at line 56 of file point_lod.hpp.

◆ voxel_size

double rux::gui::LodSelection::voxel_size = 0.0

Edge length of the final voxel, in cloud units (metres for a scan).

0 when subsampled is false.

Definition at line 60 of file point_lod.hpp.


The documentation for this struct was generated from the following file: