Template Class OptimizationProblemInterface

Class Documentation

template<typename NodeDataType, typename SubmapDataType, typename RigidTransformType>
class OptimizationProblemInterface

Public Types

using Constraint = PoseGraphInterface::Constraint
using LandmarkNode = PoseGraphInterface::LandmarkNode

Public Functions

inline OptimizationProblemInterface()
inline virtual ~OptimizationProblemInterface()
OptimizationProblemInterface(const OptimizationProblemInterface&) = delete
OptimizationProblemInterface &operator=(const OptimizationProblemInterface&) = delete
virtual void AddImuData(int trajectory_id, const sensor::ImuData &imu_data) = 0
virtual void AddOdometryData(int trajectory_id, const sensor::OdometryData &odometry_data) = 0
virtual void AddTrajectoryNode(int trajectory_id, const NodeDataType &node_data) = 0
virtual void InsertTrajectoryNode(const NodeId &node_id, const NodeDataType &node_data) = 0
virtual void TrimTrajectoryNode(const NodeId &node_id) = 0
virtual void AddSubmap(int trajectory_id, const RigidTransformType &global_submap_pose) = 0
virtual void InsertSubmap(const SubmapId &submap_id, const RigidTransformType &global_submap_pose) = 0
virtual void TrimSubmap(const SubmapId &submap_id) = 0
virtual void SetMaxNumIterations(int32 max_num_iterations) = 0
virtual void Solve(const std::vector<Constraint> &constraints, const std::map<int, PoseGraphInterface::TrajectoryState> &trajectories_state, const std::map<std::string, LandmarkNode> &landmark_nodes) = 0
virtual const MapById<NodeId, NodeDataType> &node_data() const = 0
virtual const MapById<SubmapId, SubmapDataType> &submap_data() const = 0
virtual const std::map<std::string, transform::Rigid3d> &landmark_data() const = 0
virtual const sensor::MapByTime<sensor::ImuData> &imu_data() const = 0
virtual const sensor::MapByTime<sensor::OdometryData> &odometry_data() const = 0