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

Namespaces

namespace  json_export
namespace  json_import
namespace  traits
namespace  serialization

Classes

class  FilterNode
 Base AST node for filter expressions. More...
class  CloudReferenceNode
 Cloud reference node: references a label cloud by name. More...
class  EqualNode
 Equality: <cloud> == value. More...
class  NotEqualNode
 Not equal: <cloud> != value. More...
class  InNode
 In-set: <cloud> in [v1, v2, v3]. More...
class  CompareNode
 Comparison operators: <cloud> >= value, etc. More...
class  AndNode
 AND combinator: expr1 && expr2. More...
class  OrNode
 OR combinator: expr1 || expr2. More...
struct  FilterExpression
 Parsed filter expression with resolved label cloud references. More...
class  stopwatch
struct  Owner
 Owner contact information for the material passport. More...
struct  ConstructionItemDescription
 Description of the reused construction item. More...
struct  ProductInformation
 Original product information. More...
struct  Certifications
 Certifications, approvals and declarations for the item. More...
struct  Dimensions
 Physical dimensions and geometry of the construction item. More...
struct  Condition
 Condition assessment of the construction item. More...
struct  DangerousSubstance
 Dangerous substance analysis record. More...
struct  Emission
 Emission measurement record. More...
struct  Pollution
 Pollution, content and emission information. More...
struct  EnvironmentalPotential
 Environmental and resource potential for sustainable utilization. More...
struct  FireProperties
 Fire-related properties of the construction item. More...
struct  History
 Historical usage information for the construction item. More...
struct  TransactionLogEntry
 A single entry in the material passport transaction log. More...
 Document-level metadata for the material passport. More...
struct  MaterialPassport
 A complete material passport for a reused building material. More...
class  IObserver
class  ProgressObserver
class  IVisualObserver
class  IProgressObserver
struct  SensorIntrinsics
 Lightweight camera intrinsics replacing rtabmap::CameraModel in downstream code. More...

Typedefs

using LogHandler

Enumerations

enum class  LogLevel {
  trace = 0 , debug = 1 , info = 2 , warn = 3 ,
  error = 4 , critical = 5 , off = 6
}
enum class  Material {
  natural_stone , lime_mortar , concrete , terrazzo ,
  cement_mortar , aerated_concrete , lightweight_clinker_concrete , plaster ,
  brick , glazed_tile , metal_general , iron ,
  steel , stainless_steel , aluminum , copper ,
  zinc , lead , construction_wood , wood_unclassified ,
  precious_wood , laminated_wood , veneer , wood_fibers ,
  wood_fiber_boards , wood_shavings , chipboards , paper ,
  corrugated_cardboard , impregnated_cardboard , wood_concrete_cement_fibers , mineral_wool ,
  asphalt , fibers , lining_paper , linoleum ,
  rubber , plastic , foam_plastic , glass ,
  natural_filling_aggregate , painting_supplies , other
}
 Material types from the Danish material passport standard (v1.0). More...
enum class  TriState { yes , no , unknown }
 Tri-state value for Yes/No/Unknown fields. More...
enum class  EmissionQuantityType { exact , minimum , maximum , interval }
 Emission quantity type. More...
enum class  SubstanceContentMethod { assumed , measured_surface , measured_material }
 Method used to determine substance content. More...
enum class  TransactionType { document , property }
 Transaction log entry type. More...
enum class  EventType { process , progress , visualization }
enum class  Stage {
  idle , mesh_generation , importing_data , assembling_cloud ,
  creating_material , retrieving_textures , computing_face_coverage , computing_room_probabilities ,
  processing_batch , annotating_batches , projecting_labels , ray_tracing ,
  region_growing , instance_clustering , creating_windows
}

Functions

auto parse_filter_expression (const std::string &expression, ProjectDB &db) -> std::unique_ptr< FilterExpression >
 Parse filter expression and resolve label cloud references from ProjectDB.
auto evaluate_filter (const FilterExpression &expr, size_t cloud_size) -> IndicesPtr
 Evaluate filter expression against all points, generate Indices.
void set_log_handler (LogHandler handler)
void reset_log_handler ()
void set_log_level (LogLevel level)
auto get_log_level () -> LogLevel
auto should_log (LogLevel level) -> bool
void log_message (LogLevel level, std::string_view message)
template<typename... Args>
void log (LogLevel level, fmt::format_string< Args... > format, Args &&...args)
void log (LogLevel level, std::string_view message)
template<typename... Args>
void trace (fmt::format_string< Args... > format, Args &&...args)
void trace (std::string_view message)
template<typename... Args>
void debug (fmt::format_string< Args... > format, Args &&...args)
void debug (std::string_view message)
template<typename... Args>
void info (fmt::format_string< Args... > format, Args &&...args)
void info (std::string_view message)
template<typename... Args>
void warn (fmt::format_string< Args... > format, Args &&...args)
void warn (std::string_view message)
template<typename... Args>
void error (fmt::format_string< Args... > format, Args &&...args)
void error (std::string_view message)
template<typename... Args>
void critical (fmt::format_string< Args... > format, Args &&...args)
void critical (std::string_view message)
auto to_string (Material value) -> std::string_view
 Convert Material enum to its string identifier.
auto material_from_string (std::string_view str) -> std::optional< Material >
 Parse a Material from its string identifier.
auto to_string (TriState value) -> std::string_view
 Convert TriState enum to its string identifier.
auto tri_state_from_string (std::string_view str) -> std::optional< TriState >
 Parse a TriState from its string identifier.
auto to_string (EmissionQuantityType value) -> std::string_view
 Convert EmissionQuantityType enum to its string identifier.
auto emission_quantity_type_from_string (std::string_view str) -> std::optional< EmissionQuantityType >
 Parse an EmissionQuantityType from its string identifier.
auto to_string (SubstanceContentMethod value) -> std::string_view
 Convert SubstanceContentMethod enum to its string identifier.
auto substance_content_method_from_string (std::string_view str) -> std::optional< SubstanceContentMethod >
 Parse a SubstanceContentMethod from its string identifier.
auto to_string (TransactionType value) -> std::string_view
 Convert TransactionType enum to its string identifier.
auto transaction_type_from_string (std::string_view str) -> std::optional< TransactionType >
 Parse a TransactionType from its string identifier.
void set_visual_observer (IVisualObserver *observer)
void set_progress_observer (IProgressObserver *observer)
void reset_visual_observer ()
void reset_progress_observer ()
auto get_visual_observer () -> IVisualObserver *
auto get_progress_observer () -> IProgressObserver *
std::string_view to_string (Stage stage)

Typedef Documentation

◆ LogHandler

Initial value:
std::function<void(LogLevel level, std::string_view message)>

Definition at line 27 of file logging.hpp.

Enumeration Type Documentation

◆ EmissionQuantityType

Emission quantity type.

Note
Danish: 'Emissionsmængdetype'
Enumerator
exact 

Exact measured value.

Note
Danish: 'Eksakt'
minimum 

Minimum value.

Note
Danish: 'Minimum'
maximum 

Maximum value.

Note
Danish: 'Maksimum'
interval 

Interval (use lower/upper interval fields).

Note
Danish: 'Interval'

Definition at line 170 of file materialepas_enums.hpp.

◆ EventType

enum class reusex::core::EventType
strong
Enumerator
process 
progress 
visualization 

Definition at line 22 of file processing_observer.hpp.

◆ LogLevel

enum class reusex::core::LogLevel
strong
Enumerator
trace 
debug 
info 
warn 
error 
critical 
off 

Definition at line 17 of file logging.hpp.

◆ Material

enum class reusex::core::Material
strong

Material types from the Danish material passport standard (v1.0).

Closed value list with 43 entries. Each value corresponds to a building material category defined in the "Materialepas for genbrugte byggevarer" specification.

Enumerator
natural_stone 

Natural stone.

Note
Danish: 'Natursten'
lime_mortar 

Lime mortar.

Note
Danish: 'Kalkmørtel'
concrete 

Concrete.

Note
Danish: 'Beton'
terrazzo 

Terrazzo.

Note
Danish: 'Terrazzo'
cement_mortar 

Cement mortar.

Note
Danish: 'Cementmørtel'
aerated_concrete 

Aerated concrete.

Note
Danish: 'Porebeton'
lightweight_clinker_concrete 

Lightweight clinker concrete.

Note
Danish: 'Letklinkerbeton'
plaster 

Plaster.

Note
Danish: 'Puds'
brick 

Brick.

Note
Danish: 'Mursten/tegl'
glazed_tile 

Glazed tile.

Note
Danish: 'Glaseret tegl'
metal_general 

Metal (general).

Note
Danish: 'Metal (generelt)'
iron 

Iron.

Note
Danish: 'Jern'
steel 

Steel.

Note
Danish: 'Stål'
stainless_steel 

Stainless steel.

Note
Danish: 'Rustfrit stål'
aluminum 

Aluminum.

Note
Danish: 'Aluminium'
copper 

Copper.

Note
Danish: 'Kobber'
zinc 

Zinc.

Note
Danish: 'Zink'
lead 

Lead.

Note
Danish: 'Bly'
construction_wood 

Construction wood.

Note
Danish: 'Konstruktionstræ'
wood_unclassified 

Wood (unclassified).

Note
Danish: 'Træ (uklassificeret)'
precious_wood 

Precious wood.

Note
Danish: 'Ædeltræ'
laminated_wood 

Laminated wood.

Note
Danish: 'Lamineret træ'
veneer 

Veneer.

Note
Danish: 'Finer'
wood_fibers 

Wood fibers.

Note
Danish: 'Træfibre'
wood_fiber_boards 

Wood fiber boards.

Note
Danish: 'Træfiberplader'
wood_shavings 

Wood shavings.

Note
Danish: 'Træspåner'
chipboards 

Chipboards.

Note
Danish: 'Spånplader'
paper 

Paper.

Note
Danish: 'Papir'
corrugated_cardboard 

Corrugated cardboard.

Note
Danish: 'Bølgepap'
impregnated_cardboard 

Impregnated cardboard.

Note
Danish: 'Imprægneret pap'
wood_concrete_cement_fibers 

Wood concrete / cement fibers.

Note
Danish: 'Træbeton/cementfibre'
mineral_wool 

Mineral wool.

Note
Danish: 'Mineraluld'
asphalt 

Asphalt.

Note
Danish: 'Asfalt'
fibers 

Fibers.

Note
Danish: 'Fibre'
lining_paper 

Lining paper.

Note
Danish: 'Vægbeklædningspapir'
linoleum 

Linoleum.

Note
Danish: 'Linoleum'
rubber 

Rubber.

Note
Danish: 'Gummi'
plastic 

Plastic.

Note
Danish: 'Plast'
foam_plastic 

Foam plastic.

Note
Danish: 'Skumplast'
glass 

Glass.

Note
Danish: 'Glas'
natural_filling_aggregate 

Natural filling / aggregate.

Note
Danish: 'Naturligt fyld/tilslag'
painting_supplies 

Painting supplies.

Note
Danish: 'Malerartikler'
other 

Other.

Note
Danish: 'Andet'

Definition at line 18 of file materialepas_enums.hpp.

◆ Stage

enum class reusex::core::Stage
strong
Enumerator
idle 
mesh_generation 
importing_data 
assembling_cloud 
creating_material 
retrieving_textures 
computing_face_coverage 
computing_room_probabilities 
processing_batch 
annotating_batches 
projecting_labels 
ray_tracing 
region_growing 
instance_clustering 
creating_windows 

Definition at line 7 of file stages.hpp.

◆ SubstanceContentMethod

Method used to determine substance content.

Note
Danish: 'Indhold af farlige stoffer (metode)'
Enumerator
assumed 

Assumed based on knowledge or documentation.

Note
Danish: 'Antaget'
measured_surface 

Measured on the surface of the material.

Note
Danish: 'Målt (overflade)'
measured_material 

Measured in the material itself.

Note
Danish: 'Målt (materiale)'

Definition at line 188 of file materialepas_enums.hpp.

◆ TransactionType

enum class reusex::core::TransactionType
strong

Transaction log entry type.

Note
Danish: 'Type'
Enumerator
document 

Change to the document itself (metadata).

Note
Danish: 'Dokument'
property 

Change to a property value.

Note
Danish: 'Egenskab'

Definition at line 203 of file materialepas_enums.hpp.

◆ TriState

enum class reusex::core::TriState
strong

Tri-state value for Yes/No/Unknown fields.

Used where the standard defines three possible states, as distinct from std::optional<bool> which represents present-or-absent.

Enumerator
yes 

Yes / true.

Note
Danish: 'Ja'
no 

No / false.

Note
Danish: 'Nej'
unknown 

Unknown / not determined.

Note
Danish: 'Ukendt'

Definition at line 155 of file materialepas_enums.hpp.

Function Documentation

◆ critical() [1/2]

template<typename... Args>
void reusex::core::critical ( fmt::format_string< Args... > format,
Args &&... args )
inline

Definition at line 107 of file logging.hpp.

References critical, and log().

◆ critical() [2/2]

void reusex::core::critical ( std::string_view message)
inline

Definition at line 111 of file logging.hpp.

References critical, and log().

◆ debug() [1/2]

template<typename... Args>
void reusex::core::debug ( fmt::format_string< Args... > format,
Args &&... args )
inline

Definition at line 79 of file logging.hpp.

References debug, and log().

◆ debug() [2/2]

void reusex::core::debug ( std::string_view message)
inline

Definition at line 83 of file logging.hpp.

References debug, and log().

◆ emission_quantity_type_from_string()

auto reusex::core::emission_quantity_type_from_string ( std::string_view str) -> std::optional< EmissionQuantityType >
nodiscard

Parse an EmissionQuantityType from its string identifier.

◆ error() [1/2]

template<typename... Args>
void reusex::core::error ( fmt::format_string< Args... > format,
Args &&... args )
inline

Definition at line 100 of file logging.hpp.

References error, and log().

◆ error() [2/2]

void reusex::core::error ( std::string_view message)
inline

Definition at line 104 of file logging.hpp.

References error, and log().

◆ evaluate_filter()

auto reusex::core::evaluate_filter ( const FilterExpression & expr,
size_t cloud_size ) -> IndicesPtr

Evaluate filter expression against all points, generate Indices.

Parameters
exprParsed filter expression
cloud_sizeNumber of points to evaluate
Returns
Indices of points matching filter

◆ get_log_level()

auto reusex::core::get_log_level ( ) -> LogLevel

◆ get_progress_observer()

auto reusex::core::get_progress_observer ( ) -> IProgressObserver *

◆ get_visual_observer()

auto reusex::core::get_visual_observer ( ) -> IVisualObserver *

◆ info() [1/2]

template<typename... Args>
void reusex::core::info ( fmt::format_string< Args... > format,
Args &&... args )
inline

Definition at line 86 of file logging.hpp.

References info, and log().

◆ info() [2/2]

void reusex::core::info ( std::string_view message)
inline

Definition at line 90 of file logging.hpp.

References info, and log().

◆ log() [1/2]

template<typename... Args>
void reusex::core::log ( LogLevel level,
fmt::format_string< Args... > format,
Args &&... args )
inline

Definition at line 55 of file logging.hpp.

References log_message(), and should_log().

Referenced by critical(), critical(), debug(), debug(), error(), error(), info(), info(), trace(), trace(), warn(), and warn().

◆ log() [2/2]

void reusex::core::log ( LogLevel level,
std::string_view message )
inline

Definition at line 64 of file logging.hpp.

References log_message(), and should_log().

◆ log_message()

void reusex::core::log_message ( LogLevel level,
std::string_view message )

Referenced by log(), and log().

◆ material_from_string()

auto reusex::core::material_from_string ( std::string_view str) -> std::optional< Material >
nodiscard

Parse a Material from its string identifier.

Returns
The matching Material, or std::nullopt if not found.

◆ parse_filter_expression()

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.

Parameters
expressionFilter expression string (e.g., "planes in [1, 2]")
dbProjectDB to load label clouds from
Returns
Parsed expression with resolved cloud references
Exceptions
std::runtime_errorif syntax invalid or cloud not found

◆ reset_log_handler()

void reusex::core::reset_log_handler ( )

◆ reset_progress_observer()

void reusex::core::reset_progress_observer ( )

◆ reset_visual_observer()

void reusex::core::reset_visual_observer ( )

◆ set_log_handler()

void reusex::core::set_log_handler ( LogHandler handler)

◆ set_log_level()

void reusex::core::set_log_level ( LogLevel level)

◆ set_progress_observer()

void reusex::core::set_progress_observer ( IProgressObserver * observer)

◆ set_visual_observer()

void reusex::core::set_visual_observer ( IVisualObserver * observer)

◆ should_log()

auto reusex::core::should_log ( LogLevel level) -> bool

Referenced by log(), and log().

◆ substance_content_method_from_string()

auto reusex::core::substance_content_method_from_string ( std::string_view str) -> std::optional< SubstanceContentMethod >
nodiscard

Parse a SubstanceContentMethod from its string identifier.

◆ to_string() [1/6]

auto reusex::core::to_string ( EmissionQuantityType value) -> std::string_view
nodiscard

Convert EmissionQuantityType enum to its string identifier.

◆ to_string() [2/6]

◆ to_string() [3/6]

std::string_view reusex::core::to_string ( Stage stage)

◆ to_string() [4/6]

auto reusex::core::to_string ( SubstanceContentMethod value) -> std::string_view
nodiscard

Convert SubstanceContentMethod enum to its string identifier.

◆ to_string() [5/6]

auto reusex::core::to_string ( TransactionType value) -> std::string_view
nodiscard

Convert TransactionType enum to its string identifier.

◆ to_string() [6/6]

auto reusex::core::to_string ( TriState value) -> std::string_view
nodiscard

Convert TriState enum to its string identifier.

◆ trace() [1/2]

template<typename... Args>
void reusex::core::trace ( fmt::format_string< Args... > format,
Args &&... args )
inline

Definition at line 72 of file logging.hpp.

References log(), and trace.

◆ trace() [2/2]

void reusex::core::trace ( std::string_view message)
inline

Definition at line 76 of file logging.hpp.

References log(), and trace.

◆ transaction_type_from_string()

auto reusex::core::transaction_type_from_string ( std::string_view str) -> std::optional< TransactionType >
nodiscard

Parse a TransactionType from its string identifier.

◆ tri_state_from_string()

auto reusex::core::tri_state_from_string ( std::string_view str) -> std::optional< TriState >
nodiscard

Parse a TriState from its string identifier.

◆ warn() [1/2]

template<typename... Args>
void reusex::core::warn ( fmt::format_string< Args... > format,
Args &&... args )
inline

Definition at line 93 of file logging.hpp.

References log(), and warn.

◆ warn() [2/2]

void reusex::core::warn ( std::string_view message)
inline

Definition at line 97 of file logging.hpp.

References log(), and warn.