ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
Loading...
Searching...
No Matches
mesh.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
#include "
../global-params.hpp
"
7
#include <CLI/CLI.hpp>
8
#include <memory>
9
#include <string>
10
11
#include <reusex/reconstruction/mesh.hpp>
12
13
namespace
fs = std::filesystem;
14
22
struct
SubcommandMeshOptions
{
23
std::string
output_mesh_name
=
"mesh"
;
24
25
float
grid_size
= 0.5;
26
27
double
angle_threshold
= 25.0;
28
double
distance_threshold
= 0.2;
29
30
double
search_threshold
=
reusex::geometry::MeshOptions
{}.
search_threshold
;
31
double
new_plane_offset
=
reusex::geometry::MeshOptions
{}.
new_plane_offset
;
32
33
double
time_limit_seconds
= 120.0;
34
double
alpha
= 0.04;
35
size_t
max_cells
= 5000;
36
38
bool
sectioned
=
reusex::geometry::MeshOptions
{}.
sectioned
;
39
size_t
sectioned_threshold
=
40
reusex::geometry::MeshOptions
{}.
sectioned_threshold
;
41
std::string
solver
=
"auto"
;
42
43
std::string
filter_expr
;
44
};
45
46
// Function declarations.
47
void
setup_subcommand_create_mesh
(CLI::App &app,
48
std::shared_ptr<RuxOptions> global_opt);
49
int
run_subcommand_mesh
(
SubcommandMeshOptions
const
&opt,
50
const
RuxOptions
&global_opt);
setup_subcommand_create_mesh
void setup_subcommand_create_mesh(CLI::App &app, std::shared_ptr< RuxOptions > global_opt)
run_subcommand_mesh
int run_subcommand_mesh(SubcommandMeshOptions const &opt, const RuxOptions &global_opt)
global-params.hpp
RuxOptions
Definition
global-params.hpp:44
SubcommandMeshOptions
Collection of all options of Subcommand A.
Definition
mesh.hpp:22
SubcommandMeshOptions::search_threshold
double search_threshold
Definition
mesh.hpp:30
SubcommandMeshOptions::angle_threshold
double angle_threshold
Definition
mesh.hpp:27
SubcommandMeshOptions::max_cells
size_t max_cells
Cell complex guard, issue #213.
Definition
mesh.hpp:35
SubcommandMeshOptions::output_mesh_name
std::string output_mesh_name
Mesh name in ProjectDB.
Definition
mesh.hpp:23
SubcommandMeshOptions::distance_threshold
double distance_threshold
Definition
mesh.hpp:28
SubcommandMeshOptions::sectioned
bool sectioned
Sectioned MIP solve controls (issue #226). Defaults mirror MeshOptions.
Definition
mesh.hpp:38
SubcommandMeshOptions::sectioned_threshold
size_t sectioned_threshold
Definition
mesh.hpp:39
SubcommandMeshOptions::solver
std::string solver
MIP backend: auto | cuopt | highs.
Definition
mesh.hpp:41
SubcommandMeshOptions::filter_expr
std::string filter_expr
Filter expression to limit processing.
Definition
mesh.hpp:43
SubcommandMeshOptions::time_limit_seconds
double time_limit_seconds
MIP solver time limit (s), issue #212.
Definition
mesh.hpp:33
SubcommandMeshOptions::grid_size
float grid_size
Definition
mesh.hpp:25
SubcommandMeshOptions::alpha
double alpha
MIP objective wall-weight, issue #212.
Definition
mesh.hpp:34
SubcommandMeshOptions::new_plane_offset
double new_plane_offset
Definition
mesh.hpp:31
reusex::geometry::MeshOptions
Options for mesh generation.
Definition
mesh.hpp:19
reusex::geometry::MeshOptions::search_threshold
float search_threshold
Search threshold for mesh generation.
Definition
mesh.hpp:25
reusex::geometry::MeshOptions::sectioned
bool sectioned
Solve the MIP per horizontal section when the arrangement is multi-storey and large enough,...
Definition
mesh.hpp:41
reusex::geometry::MeshOptions::sectioned_threshold
size_t sectioned_threshold
Cell-count threshold above which the sectioned solve engages (issue #226).
Definition
mesh.hpp:44
reusex::geometry::MeshOptions::new_plane_offset
float new_plane_offset
Offset for new plane creation.
Definition
mesh.hpp:26
apps
rux
include
create
mesh.hpp
Generated by
1.17.0