17 #ifndef CARTOGRAPHER_MAPPING_INTERNAL_OPTIMIZATION_OPTIMIZATION_PROBLEM_INTERFACE_H_ 18 #define CARTOGRAPHER_MAPPING_INTERNAL_OPTIMIZATION_OPTIMIZATION_PROBLEM_INTERFACE_H_ 25 #include "Eigen/Geometry" 36 namespace optimization {
39 template <
typename NodeDataType,
typename SubmapDataType,
40 typename RigidTransformType>
60 const NodeDataType& node_data) = 0;
63 const RigidTransformType& global_submap_pose) = 0;
65 const RigidTransformType& global_submap_pose) = 0;
71 const std::vector<Constraint>& constraints,
72 const std::set<int>& frozen_trajectories,
73 const std::map<std::string, LandmarkNode>& landmark_nodes) = 0;
77 virtual const std::map<std::string, transform::Rigid3d>&
landmark_data()
88 #endif // CARTOGRAPHER_MAPPING_INTERNAL_OPTIMIZATION_OPTIMIZATION_PROBLEM_INTERFACE_H_ virtual void TrimTrajectoryNode(const NodeId &node_id)=0
virtual const sensor::MapByTime< sensor::OdometryData > & odometry_data() const =0
virtual const MapById< NodeId, NodeDataType > & node_data() const =0
virtual const MapById< SubmapId, SubmapDataType > & submap_data() const =0
virtual void AddTrajectoryNode(int trajectory_id, const NodeDataType &node_data)=0
virtual void SetMaxNumIterations(int32 max_num_iterations)=0
virtual void InsertTrajectoryNode(const NodeId &node_id, const NodeDataType &node_data)=0
virtual void AddImuData(int trajectory_id, const sensor::ImuData &imu_data)=0
virtual const std::map< std::string, transform::Rigid3d > & landmark_data() const =0
OptimizationProblemInterface()
OptimizationProblemInterface & operator=(const OptimizationProblemInterface &)=delete
virtual void TrimSubmap(const SubmapId &submap_id)=0
virtual const sensor::MapByTime< sensor::ImuData > & imu_data() const =0
virtual void Solve(const std::vector< Constraint > &constraints, const std::set< int > &frozen_trajectories, const std::map< std::string, LandmarkNode > &landmark_nodes)=0
virtual void AddSubmap(int trajectory_id, const RigidTransformType &global_submap_pose)=0
virtual void AddOdometryData(int trajectory_id, const sensor::OdometryData &odometry_data)=0
virtual void InsertSubmap(const SubmapId &submap_id, const RigidTransformType &global_submap_pose)=0
virtual ~OptimizationProblemInterface()