Files
2026-01-07 01:46:55 +01:00

39 lines
811 B
C++

#pragma once
#include <array>
#include <vector>
// Shared data model used across logic, Qt UI, and VTK rendering.
// Keep this header free of Qt Widgets / VTK includes.
struct Point3d
{
double x{0.0};
double y{0.0};
double z{0.0};
};
struct Marker
{
int regionId{-1};
// In meters (legacy code converts from mm by dividing by 1000).
Point3d centroid;
};
using MarkerList = std::vector<Marker>;
struct LocalizationParams
{
int marchThreshold{3000};
double thrDown_D{0.0};
double thrUp_D{0.0};
double thr_HAUSD{0.0};
double thr_S{0.0};
// Index mapping matches the legacy code:
// 0: bounding-box diagonal length filter
// 1: Hausdorff distance filter
// 2: side-difference filter
std::array<bool, 3> selectedFilters{true, true, true};
};