ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
validate.hpp File Reference
#include "reusex/core/stage_contract.hpp"
#include <map>
#include <optional>
#include <string>
#include <string_view>
#include <vector>
Include dependency graph for validate.hpp:

Go to the source code of this file.

Classes

struct  reusex::core::ValidationIssue
 One problem discovered by a validation check. More...
struct  reusex::core::ValidationReport
 Aggregate result of running all validation checks over a project. More...

Namespaces

namespace  reusex
namespace  reusex::core

Typedefs

using reusex::core::ArtifactOverrides = std::map<std::string, std::string, std::less<>>
 Runtime substitutions for artifact names, for the flags that let a stage be pointed at a differently-named cloud (rux create instances --semantic-cloud foo).

Enumerations

enum class  reusex::core::ValidationSeverity { reusex::core::warning , reusex::core::error }
 Severity of a single validation finding. More...

Functions

void reusex::core::check_orphaned_passports (const ProjectDB &db, std::vector< ValidationIssue > &out)
 Material passports not referenced by any instance_materials link.
void reusex::core::check_dangling_instance_materials (const ProjectDB &db, std::vector< ValidationIssue > &out)
 instance_materials rows whose instance row or passport is missing.
void reusex::core::check_instances_without_label_defs (const ProjectDB &db, std::vector< ValidationIssue > &out)
 instances rows with no corresponding label_definitions entry.
void reusex::core::check_sibling_cloud_sizes (const ProjectDB &db, std::vector< ValidationIssue > &out)
 Parallel/sibling clouds (cloud, labels, normals, planes, rooms, instances) whose point counts disagree — they are supposed to be index-aligned.
ValidationReport reusex::core::validate_project (const ProjectDB &db)
 Run every check and aggregate the findings.
void reusex::core::check_stage_inputs (const ProjectDB &db, PipelineStage stage, std::vector< ValidationIssue > &out, const ArtifactOverrides &overrides={})
 Assert that stage's input clouds/tables exist in db and are index-aligned, per the contract in core/stage_contract.hpp.
ValidationReport reusex::core::validate_stage (const ProjectDB &db, PipelineStage stage, const ArtifactOverrides &overrides={})
 Run check_stage_inputs for a single stage and aggregate the findings.