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#include <vector>
10
11namespace reusex::core {
12
150
156enum class TriState {
166};
167
185
200
212
213// ---------------------------------------------------------------------------
214// String conversion declarations
215// ---------------------------------------------------------------------------
216
218[[nodiscard]] auto to_string(Material value) -> std::string_view;
219
223[[nodiscard]] auto material_from_string(std::string_view str)
224 -> std::optional<Material>;
225
227[[nodiscard]] auto material_names() -> std::vector<std::string_view>;
228
230[[nodiscard]] auto to_string(TriState value) -> std::string_view;
231
233[[nodiscard]] auto tri_state_from_string(std::string_view str)
234 -> std::optional<TriState>;
235
237[[nodiscard]] auto to_string(EmissionQuantityType value) -> std::string_view;
238
240[[nodiscard]] auto emission_quantity_type_from_string(std::string_view str)
241 -> std::optional<EmissionQuantityType>;
242
244[[nodiscard]] auto to_string(SubstanceContentMethod value) -> std::string_view;
245
247[[nodiscard]] auto substance_content_method_from_string(std::string_view str)
248 -> std::optional<SubstanceContentMethod>;
249
251[[nodiscard]] auto to_string(TransactionType value) -> std::string_view;
252
254[[nodiscard]] auto transaction_type_from_string(std::string_view str)
255 -> std::optional<TransactionType>;
256
257} // namespace reusex::core
Wire form of one stored report PDF version — the ReportPdfVersion schema in ruxd's API contract (docs...
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.
auto material_names() -> std::vector< std::string_view >
Every Material string identifier, in enum order.
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.