30#include <Eigen/Geometry>
64 qr.vec() =
update.segment<3>(3);
66 sqrt(
cst(1.0) - qr.vec().squaredNorm());
77 m.block<3, 3>(0, 0) = qrot.toRotationMatrix().transpose();
87 m.block<3, 3>(0, 0) = qrot.toRotationMatrix();
119 dRdx = dRidx *
w2n.block<3, 3>(0, 0);
120 dRdy = dRidy *
w2n.block<3, 3>(0, 0);
121 dRdz = dRidz *
w2n.block<3, 3>(0, 0);
126 out_str << cam.
translation().transpose() << std::endl;
127 out_str << cam.
rotation().coeffs().transpose() << std::endl << std::endl;
128 out_str << cam.
Kcam << std::endl << std::endl;
129 out_str << cam.
w2n << std::endl << std::endl;
130 out_str << cam.
w2i << std::endl << std::endl;
void update(const Vector6 &update)
Eigen::Matrix< double, 3, 4 > w2i
static void transformF2W(Eigen::Matrix< double, 3, 4 > &m, const Vector3 &trans, const Quaternion &qrot)
void setKcam(double fx, double fy, double cx, double cy, double tx)
Eigen::Matrix< double, 3, 4 > w2n
static void transformW2F(Eigen::Matrix< double, 3, 4 > &m, const Vector3 &trans, const Quaternion &qrot)
const Quaternion & rotation() const
const Vector3 & translation() const
some general case utility functions
constexpr double cst(long double v)
std::ostream & operator<<(std::ostream &os, const G2OBatchStatistics &st)
Eigen::Quaternion< double > Quaternion