ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
Loading...
Searching...
No Matches
filter_utils.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/types.hpp>
7
#include <string>
8
9
namespace
reusex
{
10
class
ProjectDB
;
11
}
// namespace reusex
12
13
namespace
rux::filters
{
14
16
struct
ValidationResult
{
17
bool
valid
;
18
std::string
error_message
;
19
std::string
resolution_hint
;
20
21
operator
bool()
const
{
return
valid
; }
22
};
23
30
auto
evaluate_filter
(
const
std::string &filter_expr,
reusex::ProjectDB
&db,
31
size_t
expected_size) ->
reusex::IndicesPtr
;
32
36
auto
validate_expression_syntax
(
const
std::string &expr) ->
ValidationResult
;
37
39
auto
validate_clouds_exist
(
const
std::string &expr,
40
const
reusex::ProjectDB
&db) ->
ValidationResult
;
41
43
auto
validate_cloud_sizes
(
const
std::string &expr,
const
reusex::ProjectDB
&db)
44
->
ValidationResult
;
45
46
}
// namespace rux::filters
reusex::ProjectDB
Definition
ProjectDB.hpp:31
reusex
Definition
filter_expression.hpp:12
reusex::IndicesPtr
pcl::IndicesPtr IndicesPtr
Definition
types.hpp:23
rux::filters
Definition
filter_utils.hpp:13
rux::filters::evaluate_filter
auto evaluate_filter(const std::string &filter_expr, reusex::ProjectDB &db, size_t expected_size) -> reusex::IndicesPtr
Evaluate filter expression and generate Indices.
rux::filters::validate_expression_syntax
auto validate_expression_syntax(const std::string &expr) -> ValidationResult
Validate that filter expression is syntactically correct.
rux::filters::validate_cloud_sizes
auto validate_cloud_sizes(const std::string &expr, const reusex::ProjectDB &db) -> ValidationResult
Validate that all referenced clouds have matching sizes.
rux::filters::validate_clouds_exist
auto validate_clouds_exist(const std::string &expr, const reusex::ProjectDB &db) -> ValidationResult
Validate that all referenced clouds exist in database.
rux::filters::ValidationResult
Validation result for filter expressions.
Definition
filter_utils.hpp:16
rux::filters::ValidationResult::error_message
std::string error_message
Definition
filter_utils.hpp:18
rux::filters::ValidationResult::resolution_hint
std::string resolution_hint
Definition
filter_utils.hpp:19
rux::filters::ValidationResult::valid
bool valid
Definition
filter_utils.hpp:17
apps
rux
include
filter_utils.hpp
Generated by
1.17.0