|
ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
|
Mapping between geometry::BuildingComponent and the core-owned persistence POD core::ComponentRecord, plus thin ProjectDB conveniences (#227). More...
#include "reusex/core/ProjectDB.hpp"#include "reusex/core/component_record.hpp"#include "reusex/geometry/BuildingComponent.hpp"#include "reusex/geometry/CoplanarPolygon.hpp"#include <string>#include <string_view>#include <vector>
Go to the source code of this file.
Namespaces | |
| namespace | reusex |
| namespace | reusex::geometry |
Functions | |
| core::ComponentRecord | reusex::geometry::to_component_record (const BuildingComponent &component) |
| Flatten a component into the persistence POD. | |
| BuildingComponent | reusex::geometry::from_component_record (const core::ComponentRecord &record) |
| Rebuild a component from the persistence POD. | |
| void | reusex::geometry::save_building_component (ProjectDB &db, const BuildingComponent &component) |
| Insert or replace component, keyed by its name. | |
| void | reusex::geometry::update_building_component_by_guid (ProjectDB &db, const BuildingComponent &component) |
| Update an existing component's mutable fields, matched by its immutable guid. | |
| BuildingComponent | reusex::geometry::building_component (const ProjectDB &db, std::string_view name) |
| Load the component stored under name. Throws if absent. | |
| std::vector< std::string > | reusex::geometry::list_building_components (const ProjectDB &db, ComponentType type) |
| Names of all stored components of the given type. | |
Mapping between geometry::BuildingComponent and the core-owned persistence POD core::ComponentRecord, plus thin ProjectDB conveniences (#227).
ProjectDB stores only the POD, so core no longer knows about the geometry types. The knowledge of how a BuildingComponent flattens into a row therefore lives here, on the geometry side of the boundary.
Layering note: this is a header-only adapter. It is deliberately NOT compiled into reusex_geometry_common (there is no matching .cpp), so that module keeps its Layer-1½ position and never links core. Consumers that include it — io, apps/rux, tests — already link both reusex_core and reusex_geometry_common. See docs/STANDARDS.md §1.
Definition in file component_persistence.hpp.