ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
filter_expression.hpp File Reference
#include <reusex/types.hpp>
#include <memory>
#include <string>
#include <unordered_set>
#include <vector>
Include dependency graph for filter_expression.hpp:

Go to the source code of this file.

Classes

class  reusex::core::FilterNode
 Base AST node for filter expressions. More...
class  reusex::core::CloudReferenceNode
 Cloud reference node: references a label cloud by name. More...
class  reusex::core::EqualNode
 Equality: <cloud> == value. More...
class  reusex::core::NotEqualNode
 Not equal: <cloud> != value. More...
class  reusex::core::InNode
 In-set: <cloud> in [v1, v2, v3]. More...
class  reusex::core::CompareNode
 Comparison operators: <cloud> >= value, etc. More...
class  reusex::core::AndNode
 AND combinator: expr1 && expr2. More...
class  reusex::core::OrNode
 OR combinator: expr1 || expr2. More...
struct  reusex::core::FilterExpression
 Parsed filter expression with resolved label cloud references. More...

Namespaces

namespace  reusex
namespace  reusex::core

Functions

auto reusex::core::parse_filter_expression (const std::string &expression, ProjectDB &db) -> std::unique_ptr< FilterExpression >
 Parse filter expression and resolve label cloud references from ProjectDB.
auto reusex::core::evaluate_filter (const FilterExpression &expr, size_t cloud_size) -> IndicesPtr
 Evaluate filter expression against all points, generate Indices.