23 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
24 using shared_ptr = gtsam_points::shared_ptr<IntegratedCT_ICPFactor_<TargetFrame, SourceFrame>>;
35 gtsam::Key source_t0_key,
36 gtsam::Key source_t1_key,
37 const std::shared_ptr<const TargetFrame>& target,
38 const std::shared_ptr<const SourceFrame>& source,
39 const std::shared_ptr<const NearestNeighborSearch>& target_tree);
49 gtsam::Key source_t0_key,
50 gtsam::Key source_t1_key,
51 const std::shared_ptr<const TargetFrame>& target,
52 const std::shared_ptr<const SourceFrame>& source);
57 virtual void print(
const std::string& s =
"",
const gtsam::KeyFormatter& keyFormatter = gtsam::DefaultKeyFormatter)
const override;
59 virtual size_t memory_usage()
const;
61 virtual size_t dim()
const override {
return 6; }
62 virtual double error(
const gtsam::Values& values)
const override;
63 virtual gtsam::GaussianFactor::shared_ptr linearize(
const gtsam::Values& values)
const override;
65 void set_num_threads(
int n) { num_threads = n; }
66 void set_max_correspondence_distance(
double dist) { max_correspondence_distance_sq = dist * dist; }
68 const std::vector<double>& get_time_table()
const {
return time_table; }
69 const std::vector<int>& get_time_indices()
const {
return time_indices; }
70 const std::vector<gtsam::Pose3>& get_source_poses()
const {
return source_poses; }
72 std::vector<Eigen::Vector4d> deskewed_source_points(
const gtsam::Values& values,
bool local =
false);
75 virtual void update_poses(
const gtsam::Values& values)
const;
78 virtual void update_correspondences()
const;
82 double max_correspondence_distance_sq;
84 std::shared_ptr<const NearestNeighborSearch> target_tree;
86 std::vector<double> time_table;
87 mutable std::vector<gtsam::Pose3> source_poses;
88 mutable std::vector<gtsam::Matrix6> pose_derivatives_t0;
89 mutable std::vector<gtsam::Matrix6> pose_derivatives_t1;
91 std::vector<int> time_indices;
92 mutable std::vector<long> correspondences;
94 std::shared_ptr<const TargetFrame> target;
95 std::shared_ptr<const SourceFrame> source;
virtual void print(const std::string &s="", const gtsam::KeyFormatter &keyFormatter=gtsam::DefaultKeyFormatter) const override
Print the factor information.
Definition integrated_ct_icp_factor_impl.hpp:76