ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
materialepas_enums.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2025 Povl Filip Sonne-Frederiksen
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#pragma once
6
7#include <optional>
8#include <string_view>
9
10namespace reusex::core {
11
149
155enum class TriState {
165};
166
184
199
211
212// ---------------------------------------------------------------------------
213// String conversion declarations
214// ---------------------------------------------------------------------------
215
217[[nodiscard]] auto to_string(Material value) -> std::string_view;
218
222[[nodiscard]] auto material_from_string(std::string_view str)
223 -> std::optional<Material>;
224
226[[nodiscard]] auto to_string(TriState value) -> std::string_view;
227
229[[nodiscard]] auto tri_state_from_string(std::string_view str)
230 -> std::optional<TriState>;
231
233[[nodiscard]] auto to_string(EmissionQuantityType value) -> std::string_view;
234
236[[nodiscard]] auto emission_quantity_type_from_string(std::string_view str)
237 -> std::optional<EmissionQuantityType>;
238
240[[nodiscard]] auto to_string(SubstanceContentMethod value) -> std::string_view;
241
243[[nodiscard]] auto substance_content_method_from_string(std::string_view str)
244 -> std::optional<SubstanceContentMethod>;
245
247[[nodiscard]] auto to_string(TransactionType value) -> std::string_view;
248
250[[nodiscard]] auto transaction_type_from_string(std::string_view str)
251 -> std::optional<TransactionType>;
252
253} // namespace reusex::core
Material
Material types from the Danish material passport standard (v1.0).
@ stainless_steel
Stainless steel.
@ metal_general
Metal (general).
@ impregnated_cardboard
Impregnated cardboard.
@ construction_wood
Construction wood.
@ wood_fiber_boards
Wood fiber boards.
@ painting_supplies
Painting supplies.
@ aerated_concrete
Aerated concrete.
@ laminated_wood
Laminated wood.
@ wood_unclassified
Wood (unclassified).
@ wood_concrete_cement_fibers
Wood concrete / cement fibers.
@ corrugated_cardboard
Corrugated cardboard.
@ natural_filling_aggregate
Natural filling / aggregate.
@ lightweight_clinker_concrete
Lightweight clinker concrete.
auto substance_content_method_from_string(std::string_view str) -> std::optional< SubstanceContentMethod >
Parse a SubstanceContentMethod from its string identifier.
auto to_string(Material value) -> std::string_view
Convert Material 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 transaction_type_from_string(std::string_view str) -> std::optional< TransactionType >
Parse a TransactionType from its string identifier.
EmissionQuantityType
Emission quantity type.
@ interval
Interval (use lower/upper interval fields).
auto material_from_string(std::string_view str) -> std::optional< Material >
Parse a Material from its string identifier.
TriState
Tri-state value for Yes/No/Unknown fields.
@ unknown
Unknown / not determined.
TransactionType
Transaction log entry type.
@ property
Change to a property value.
@ document
Change to the document itself (metadata).
auto tri_state_from_string(std::string_view str) -> std::optional< TriState >
Parse a TriState from its string identifier.
SubstanceContentMethod
Method used to determine substance content.
@ measured_surface
Measured on the surface of the material.
@ assumed
Assumed based on knowledge or documentation.
@ measured_material
Measured in the material itself.