ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
Loading...
Searching...
No Matches
validation.hpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2025 Povl Filip Sonne-Frederiksen
2
// SPDX-License-Identifier: GPL-3.0-or-later
3
4
#pragma once
5
6
#include <reusex/core/ProjectDB.hpp>
7
#include <string>
8
#include <vector>
9
10
namespace
rux::validation
{
11
13
struct
ValidationResult
{
14
bool
success
;
15
std::string
error_message
;
// What's missing/wrong
16
std::string
resolution_hint
;
// Command to run to fix it
17
std::vector<std::string>
missing_data
;
// Specific missing items
18
19
explicit
operator
bool()
const
{
return
success
; }
20
21
static
ValidationResult
ok
() {
return
ValidationResult
{
true
,
""
,
""
, {}}; }
22
23
static
ValidationResult
error
(std::string msg, std::string hint,
24
std::vector<std::string> missing = {}) {
25
return
ValidationResult
{
false
, std::move(msg), std::move(hint),
26
std::move(missing)};
27
}
28
};
29
30
// Validation functions for each create command
31
ValidationResult
validate_clouds_prerequisites
(
const
reusex::ProjectDB
&db);
32
ValidationResult
validate_planes_prerequisites
(
const
reusex::ProjectDB
&db);
33
ValidationResult
validate_rooms_prerequisites
(
const
reusex::ProjectDB
&db);
34
ValidationResult
validate_mesh_prerequisites
(
const
reusex::ProjectDB
&db);
35
ValidationResult
validate_texture_prerequisites
(
const
reusex::ProjectDB
&db);
36
ValidationResult
validate_project_prerequisites
(
const
reusex::ProjectDB
&db);
37
ValidationResult
validate_annotate_prerequisites
(
const
reusex::ProjectDB
&db);
38
ValidationResult
39
validate_instances_prerequisites
(
const
reusex::ProjectDB
&db,
40
const
std::string &semantic_cloud_name);
41
ValidationResult
42
validate_window_prerequisites
(
const
reusex::ProjectDB
&db,
43
const
std::string &semantic_cloud_name);
44
45
}
// namespace rux::validation
reusex::ProjectDB
Definition
ProjectDB.hpp:31
rux::validation
Definition
validation.hpp:10
rux::validation::validate_instances_prerequisites
ValidationResult validate_instances_prerequisites(const reusex::ProjectDB &db, const std::string &semantic_cloud_name)
rux::validation::validate_mesh_prerequisites
ValidationResult validate_mesh_prerequisites(const reusex::ProjectDB &db)
rux::validation::validate_project_prerequisites
ValidationResult validate_project_prerequisites(const reusex::ProjectDB &db)
rux::validation::validate_clouds_prerequisites
ValidationResult validate_clouds_prerequisites(const reusex::ProjectDB &db)
rux::validation::validate_window_prerequisites
ValidationResult validate_window_prerequisites(const reusex::ProjectDB &db, const std::string &semantic_cloud_name)
rux::validation::validate_texture_prerequisites
ValidationResult validate_texture_prerequisites(const reusex::ProjectDB &db)
rux::validation::validate_planes_prerequisites
ValidationResult validate_planes_prerequisites(const reusex::ProjectDB &db)
rux::validation::validate_annotate_prerequisites
ValidationResult validate_annotate_prerequisites(const reusex::ProjectDB &db)
rux::validation::validate_rooms_prerequisites
ValidationResult validate_rooms_prerequisites(const reusex::ProjectDB &db)
rux::validation::ValidationResult
Result of validation with error message and resolution hint.
Definition
validation.hpp:13
rux::validation::ValidationResult::success
bool success
Definition
validation.hpp:14
rux::validation::ValidationResult::error
static ValidationResult error(std::string msg, std::string hint, std::vector< std::string > missing={})
Definition
validation.hpp:23
rux::validation::ValidationResult::missing_data
std::vector< std::string > missing_data
Definition
validation.hpp:17
rux::validation::ValidationResult::ok
static ValidationResult ok()
Definition
validation.hpp:21
rux::validation::ValidationResult::error_message
std::string error_message
Definition
validation.hpp:15
rux::validation::ValidationResult::resolution_hint
std::string resolution_hint
Definition
validation.hpp:16
apps
rux
include
validation.hpp
Generated by
1.17.0