ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
Loading...
Searching...
No Matches
component_record.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 <array>
8
#include <cstdint>
9
#include <string>
10
#include <vector>
11
12
namespace
reusex::core
{
13
25
struct
ComponentRecord
{
27
std::string
name
;
30
std::string
guid
;
32
std::string
type
;
36
std::vector<uint8_t>
vertex_data
;
39
std::array<double, 4>
plane
{0.0, 0.0, 0.0, 0.0};
41
int
parent_id
= -1;
43
double
confidence
= -1.0;
47
std::string
metadata
;
49
std::string
notes
;
50
};
51
52
}
// namespace reusex::core
reusex::core
Definition
component_record.hpp:12
reusex::core::ComponentRecord
Core-owned persistence contract for a row of the building_components table (#227).
Definition
component_record.hpp:25
reusex::core::ComponentRecord::plane
std::array< double, 4 > plane
plane blob — Hessian normal form [a,b,c,d] of ax+by+cz+d=0, always persisted as 4 * 8 bytes.
Definition
component_record.hpp:39
reusex::core::ComponentRecord::guid
std::string guid
guid column (schema v8) — stable, immutable identity.
Definition
component_record.hpp:30
reusex::core::ComponentRecord::confidence
double confidence
confidence column — detection confidence, -1 if manual.
Definition
component_record.hpp:43
reusex::core::ComponentRecord::name
std::string name
name column — unique; the UPSERT conflict target.
Definition
component_record.hpp:27
reusex::core::ComponentRecord::parent_id
int parent_id
parent_id column — optional link to a parent component, -1 if none.
Definition
component_record.hpp:41
reusex::core::ComponentRecord::type
std::string type
type column — component-type discriminator as stored, e.g. "window".
Definition
component_record.hpp:32
reusex::core::ComponentRecord::metadata
std::string metadata
metadata column — opaque JSON TEXT owned by the geometry layer.
Definition
component_record.hpp:47
reusex::core::ComponentRecord::vertex_data
std::vector< uint8_t > vertex_data
vertex_data blob — boundary vertices as packed little-endian float64 xyz triples (3 * 8 bytes per ver...
Definition
component_record.hpp:36
reusex::core::ComponentRecord::notes
std::string notes
notes column — free-form text. Bound as NULL when empty.
Definition
component_record.hpp:49
libs
reusex
include
core
component_record.hpp
Generated by
1.17.0