ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
AlignmentSession.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #include <FileSystem.h>
9 #include <IJsonConvertible.h>
10 #include <Logging.h>
11 #include <ecvBBox.h>
12 #include <ecvKDTreeFlann.h>
13 #include <ecvOrientedBBox.h>
14 #include <ecvPointCloud.h>
15 
16 #include <thread>
17 
18 #include "io/PointCloudIO.h"
19 
20 namespace cloudViewer {
21 
23 public:
24  bool ConvertToJsonValue(Json::Value &value) const override;
25  bool ConvertFromJsonValue(const Json::Value &value) override;
26 
27 public:
28  std::shared_ptr<ccPointCloud> source_ptr_; // Original source pointcloud
29  std::shared_ptr<ccPointCloud> target_ptr_; // Original target pointcloud
30  std::vector<size_t> source_indices_; // Manually annotated point indices
31  std::vector<size_t> target_indices_; // Manually annotated point indices
32  Eigen::Matrix4d_u transformation_; // Current alignment result
33  double voxel_size_ = -1.0;
35  bool with_scaling_ = true;
36 };
37 
38 } // namespace cloudViewer
std::shared_ptr< ccPointCloud > source_ptr_
std::shared_ptr< ccPointCloud > target_ptr_
std::vector< size_t > source_indices_
Eigen::Matrix4d_u transformation_
bool ConvertFromJsonValue(const Json::Value &value) override
std::vector< size_t > target_indices_
bool ConvertToJsonValue(Json::Value &value) const override
Eigen::Matrix< double, 4, 4, Eigen::DontAlign > Matrix4d_u
Definition: Eigen.h:113
Generic file read and write utility for python interface.