ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
Loading...
Searching...
No Matches
rux_app.hpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2026 Povl Filip Sonne-Frederiksen
2
//
3
// SPDX-License-Identifier: GPL-3.0-or-later
4
5
#pragma once
6
7
#include <reusex/pipeline/stages.hpp>
8
9
#include <filesystem>
10
#include <functional>
11
#include <optional>
12
13
namespace
rux
{
14
16
struct
GuiLaunch
{
18
std::optional<std::filesystem::path>
project
;
20
int
quit_after_ms
= -1;
23
reusex::pipeline::StageExecutor
stage_executor
;
24
};
25
29
using
GuiLauncher
=
30
std::function<int(
int
argc,
char
**argv,
const
GuiLaunch
&)>;
31
50
int
run
(
int
argc,
char
**argv,
GuiLauncher
launch_gui = {});
51
57
bool
logging_left_up
();
59
void
finish_logging
();
60
61
}
// namespace rux
reusex::pipeline::StageExecutor
std::function< StageResult(const StageContext &)> StageExecutor
Stage execution strategy.
Definition
stages.hpp:148
rux
Definition
stage_bridge.hpp:27
rux::logging_left_up
bool logging_left_up()
True when run() returned with spdlog still up because detached Qt-client work (rux_qt/background....
rux::GuiLauncher
std::function< int(int argc, char **argv, const GuiLaunch &)> GuiLauncher
Starts the desktop app and returns its exit code.
Definition
rux_app.hpp:29
rux::run
int run(int argc, char **argv, GuiLauncher launch_gui={})
The whole of the rux CLI, minus the main() symbol itself (#249).
rux::finish_logging
void finish_logging()
The spdlog teardown run() skipped.
rux::GuiLaunch
What plain rux (no subcommand) asks the desktop app to do.
Definition
rux_app.hpp:16
rux::GuiLaunch::quit_after_ms
int quit_after_ms
Dev/test --quit-after-ms; negative = run normally.
Definition
rux_app.hpp:20
rux::GuiLaunch::stage_executor
reusex::pipeline::StageExecutor stage_executor
How the Pipeline workspace runs a stage in-process: rux_lib's executor, which can also run optimize (...
Definition
rux_app.hpp:23
rux::GuiLaunch::project
std::optional< std::filesystem::path > project
Set only for an explicit -p — never the ./project.rux default.
Definition
rux_app.hpp:18
apps
rux
include
rux_app.hpp
Generated by
1.18.0