50 using NoiseModelFactor2<Point3, Point3>::evaluateError;
57 : Base(noiseModel, a, b), measured_w_aZb_(w_aZb.
point3()) {}
74 const Point3 dir = Tb - Ta;
75 Matrix33 H_predicted_dir;
76 const Point3 predicted =
normalize(dir, H1 || H2 ? &H_predicted_dir :
nullptr);
77 if (H1) *H1 = -H_predicted_dir;
78 if (H2) *H2 = H_predicted_dir;
83 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 84 friend class boost::serialization::access;
85 template <
class ARCHIVE>
86 void serialize(ARCHIVE& ar,
const unsigned int ) {
87 ar& boost::serialization::make_nvp(
88 "Base", boost::serialization::base_object<Base>(*
this));
std::string serialize(const T &input)
serializes to a string
TranslationFactor(Key a, Key b, const Unit3 &w_aZb, const SharedNoiseModel &noiseModel)
TranslationFactor()
default constructor
static void normalize(Signature::Row &row)
Represents a 3D point on a unit sphere.
const SharedNoiseModel & noiseModel() const
access to the noise model
Matrix * OptionalMatrixType
NoiseModelFactorN< Point3, Point3 > Base
Point3_ point3(const Unit3_ &v)
Non-linear factor base classes.
Vector evaluateError(const Point3 &Ta, const Point3 &Tb, OptionalMatrixType H1, OptionalMatrixType H2) const override
Caclulate error: (norm(Tb - Ta) - measurement) where Tb and Ta are Point3 translations and measuremen...
std::uint64_t Key
Integer nonlinear key type.
noiseModel::Base::shared_ptr SharedNoiseModel