ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
rux::filters Namespace Reference

Classes

struct  ValidationResult
 Validation result for filter expressions. More...

Functions

auto evaluate_filter (const std::string &filter_expr, reusex::ProjectDB &db, size_t expected_size) -> reusex::IndicesPtr
 Evaluate filter expression and generate Indices.
auto validate_expression_syntax (const std::string &expr) -> ValidationResult
 Validate that filter expression is syntactically correct.
auto validate_clouds_exist (const std::string &expr, reusex::ProjectDB &db) -> ValidationResult
 Validate that all referenced clouds exist in database.
auto validate_cloud_sizes (const std::string &expr, reusex::ProjectDB &db) -> ValidationResult
 Validate that all referenced clouds have matching sizes.

Function Documentation

◆ evaluate_filter()

auto rux::filters::evaluate_filter ( const std::string & filter_expr,
reusex::ProjectDB & db,
size_t expected_size ) -> reusex::IndicesPtr

Evaluate filter expression and generate Indices.

Parameters
filter_exprFilter expression string (e.g., "planes in [1,2]")
dbProjectDB containing label clouds
expected_sizeExpected point cloud size for validation
Returns
Indices of matching points, or nullptr if filter_expr is empty
Exceptions
std::runtime_erroron parse error or cloud not found

◆ validate_cloud_sizes()

auto rux::filters::validate_cloud_sizes ( const std::string & expr,
reusex::ProjectDB & db ) -> ValidationResult

Validate that all referenced clouds have matching sizes.

◆ validate_clouds_exist()

auto rux::filters::validate_clouds_exist ( const std::string & expr,
reusex::ProjectDB & db ) -> ValidationResult

Validate that all referenced clouds exist in database.

◆ validate_expression_syntax()

auto rux::filters::validate_expression_syntax ( const std::string & expr) -> ValidationResult

Validate that filter expression is syntactically correct.

Parameters
filter_exprExpression to validate
Returns
Validation result with error message if invalid