30 std::cout << s <<
"EssentialMatrixConstraint(" << keyFormatter(this->key<1>())
31 <<
"," << keyFormatter(this->key<2>()) <<
")\n";
64 const Matrix& D_1P2_p1 = *Hp1;
66 *Hp1 = D_hx_1P2 * D_1P2_p1;
70 const Matrix& D_1P2_p2 = *Hp2;
72 *Hp2 = D_hx_1P2 * D_1P2_p2;
bool equals(const EssentialMatrix &other, double tol=1e-8) const
assert equality up to a tolerance
static GTSAM_EXPORT EssentialMatrix FromPose3(const Pose3 &_1P2_, OptionalJacobian< 5, 6 > H={})
Named constructor converting a Pose3 with scale to EssentialMatrix (no scale)
bool equals(const NonlinearFactor &f, double tol=1e-9) const override
void print(const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
Matrix * OptionalMatrixType
bool equals(const NonlinearFactor &expected, double tol=1e-9) const override
Vector5 localCoordinates(const EssentialMatrix &other) const
Compute the coordinates in the tangent space.
GTSAM_EXPORT void print(const std::string &s="") const
print with optional string
Array< double, 1, 3 > e(1./3., 0.5, 2.)
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
SharedNoiseModel noiseModel_
Class between(const Class &g) const
Vector evaluateError(const Pose3 &p1, const Pose3 &p2, OptionalMatrixType Hp1, OptionalMatrixType Hp2) const override
EssentialMatrix measuredE_