ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
Loading...
Searching...
No Matches
sync_downsample.hpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2025 Povl Filip Sonne-Frederiksen
2
//
3
// SPDX-License-Identifier: GPL-3.0-or-later
4
5
#pragma once
6
7
#include "reusex/core/ProjectDB.hpp"
8
9
#include <string>
10
#include <vector>
11
12
namespace
reusex::geometry
{
13
22
struct
SyncDownsampleOptions
{
24
float
leaf_size
= 0.0f;
25
27
std::string
primary_output
;
28
32
bool
only_primary
=
false
;
33
37
bool
force_desync
=
false
;
38
};
39
41
struct
SyncDownsampleResult
{
43
size_t
output_points
= 0;
44
47
std::vector<std::string>
written_clouds
;
48
51
std::vector<std::string>
desynced_clouds
;
52
};
53
79
SyncDownsampleResult
sync_downsample
(
ProjectDB
&db,
const
std::string &primary,
80
const
SyncDownsampleOptions
&opts);
81
82
}
// namespace reusex::geometry
reusex::ProjectDB
Definition
ProjectDB.hpp:43
reusex::geometry
Definition
visual_observer.hpp:33
reusex::geometry::sync_downsample
SyncDownsampleResult sync_downsample(ProjectDB &db, const std::string &primary, const SyncDownsampleOptions &opts)
Downsample primary and — unless only_primary is set — all of its index-aligned sibling clouds in db,...
reusex::geometry::SyncDownsampleOptions
Options controlling a synchronized project-cloud downsample.
Definition
sync_downsample.hpp:22
reusex::geometry::SyncDownsampleOptions::leaf_size
float leaf_size
Voxel leaf size in meters. Must be positive.
Definition
sync_downsample.hpp:24
reusex::geometry::SyncDownsampleOptions::only_primary
bool only_primary
When true, only the primary cloud is downsampled.
Definition
sync_downsample.hpp:32
reusex::geometry::SyncDownsampleOptions::force_desync
bool force_desync
Required alongside only_primary to actually perform a desynchronizing downsample.
Definition
sync_downsample.hpp:37
reusex::geometry::SyncDownsampleOptions::primary_output
std::string primary_output
Output name for the primary cloud. Empty means overwrite primary.
Definition
sync_downsample.hpp:27
reusex::geometry::SyncDownsampleResult
Outcome of a synchronized downsample, for logging / reporting.
Definition
sync_downsample.hpp:41
reusex::geometry::SyncDownsampleResult::output_points
size_t output_points
Number of output points in the downsampled primary cloud.
Definition
sync_downsample.hpp:43
reusex::geometry::SyncDownsampleResult::desynced_clouds
std::vector< std::string > desynced_clouds
Names of sibling clouds that were intentionally left untouched because only_primary/force_desync was ...
Definition
sync_downsample.hpp:51
reusex::geometry::SyncDownsampleResult::written_clouds
std::vector< std::string > written_clouds
Names of every cloud written (primary first, then siblings).
Definition
sync_downsample.hpp:47
libs
reusex
include
segmentation
sync_downsample.hpp
Generated by
1.17.0