Simplify triangulation API with config struct

This commit is contained in:
2026-03-12 00:08:56 +08:00
parent 7df34b18c3
commit c23f25f871
6 changed files with 158 additions and 198 deletions
+15 -21
View File
@@ -2416,39 +2416,33 @@ std::vector<PairCandidate> build_pair_candidates(const PoseBatch2DView &poses_2d
PreviousPoseFilterDebug filter_pairs_with_previous_poses(
const PoseBatch2DView &poses_2d,
const std::vector<Camera> &cameras,
const std::vector<std::string> &joint_names,
const TriangulationConfig &config,
const PoseBatch3DView &previous_poses_3d,
const TriangulationOptions &options)
const TriangulationOptions *options_override)
{
return filter_pairs_with_previous_poses_impl(poses_2d, cameras, joint_names, previous_poses_3d, options);
const TriangulationOptions &options =
options_override != nullptr ? *options_override : config.options;
return filter_pairs_with_previous_poses_impl(
poses_2d, config.cameras, config.joint_names, previous_poses_3d, options);
}
TriangulationTrace triangulate_debug(
const PoseBatch2DView &poses_2d,
const std::vector<Camera> &cameras,
const std::array<std::array<float, 3>, 2> &roomparams,
const std::vector<std::string> &joint_names,
const TriangulationConfig &config,
const PoseBatch3DView *previous_poses_3d,
const TriangulationOptions &options)
const TriangulationOptions *options_override)
{
return triangulate_debug_impl(poses_2d, cameras, roomparams, joint_names, previous_poses_3d, options);
const TriangulationOptions &options =
options_override != nullptr ? *options_override : config.options;
return triangulate_debug_impl(
poses_2d, config.cameras, config.roomparams, config.joint_names, previous_poses_3d, options);
}
PoseBatch3D triangulate_poses(
const PoseBatch2DView &poses_2d,
const std::vector<Camera> &cameras,
const std::array<std::array<float, 3>, 2> &roomparams,
const std::vector<std::string> &joint_names,
const TriangulationConfig &config,
const PoseBatch3DView *previous_poses_3d,
const TriangulationOptions &options)
const TriangulationOptions *options_override)
{
return triangulate_debug(
poses_2d,
cameras,
roomparams,
joint_names,
previous_poses_3d,
options)
.final_poses;
return triangulate_debug(poses_2d, config, previous_poses_3d, options_override).final_poses;
}