| 11 | class RelativePoseError { |
| 12 | public: |
| 13 | RelativePoseError(const Eigen::Matrix4d& relative_pose, Eigen::Vector3d translation_weight, Eigen::Vector3d rotation_weight) |
| 14 | : relative_j_i_translation_(Eigen::Vector3d::Zero()), relative_j_i_rotation_lie_algebra_(Eigen::Vector3d::Zero()), translation_weight_(translation_weight), rotation_weight_(rotation_weight) { |
| 15 | relative_j_i_translation_ = relative_pose.block<3, 1>(0, 3); |
| 16 | Eigen::Matrix<double, 3, 3> relative_j_i_rotation = relative_pose.block<3, 3>(0, 0); |
| 17 | ceres::RotationMatrixToAngleAxis(relative_j_i_rotation.data(), relative_j_i_rotation_lie_algebra_.data()); |
| 18 | } |
| 19 | template<typename T> |
| 20 | bool operator()(const T* camera_i, const T* camera_j, T* residuals) const { |
| 21 | using TMatrix3 = Eigen::Matrix<T, 3, 3>; |
nothing calls this directly
no outgoing calls
no test coverage detected