29 template<
class T,
class P>
31 const T&
trans,
const P& global,
34 return trans.transformFrom(global, Dtrans, Dglobal);
56 template<
class POINT,
class TRANSFORM>
70 typedef TRANSFORM Transform;
76 : Base(model,globalKey, transKey, localKey) {}
83 : Base(globalKey, transKey, localKey, Point().
dim(), mu) {}
91 globalKey, transKey, localKey) {}
95 NonlinearFactor::shared_ptr
clone()
const override {
97 NonlinearFactor::shared_ptr(
new This(*
this))); }
103 Point newlocal = transform_point<Transform,Point>(
trans, global, Dtrans, Dforeign);
112 std::cout << s <<
": ReferenceFrameFactor(" 113 <<
"Global: " << keyFormatter(this->key1()) <<
"," 114 <<
" Transform: " << keyFormatter(this->key2()) <<
"," 115 <<
" Local: " << keyFormatter(this->key3()) <<
")\n";
116 this->noiseModel_->print(
" noise model");
120 Key global_key()
const {
return this->key1(); }
121 Key transform_key()
const {
return this->key2(); }
122 Key local_key()
const {
return this->key3(); }
125 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 127 friend class boost::serialization::access;
128 template<
class ARCHIVE>
129 void serialize(ARCHIVE & ar,
const unsigned int ) {
130 ar & boost::serialization::make_nvp(
"NonlinearFactor3",
131 boost::serialization::base_object<Base>(*
this));
137 template<
class T1,
class T2>
Definition: NonlinearFactor.h:431
Definition: ReferenceFrameFactor.h:57
P transform_point(const T &trans, const P &global, OptionalMatrixType Dtrans, OptionalMatrixType Dglobal)
Definition: ReferenceFrameFactor.h:30
size_t dim() const override
Definition: NonlinearFactor.h:240
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:113
Definition: Testable.h:152
virtual Vector evaluateError(const ValueTypes &... x, OptionalMatrixTypeT< ValueTypes >... H) const=0
Definition: NonlinearFactor.h:68
Matrix trans(const Matrix &A)
Definition: Matrix.h:241
NonlinearFactor::shared_ptr clone() const override
Definition: ReferenceFrameFactor.h:95
ReferenceFrameFactor(Key globalKey, Key transKey, Key localKey, double sigma=1e-2)
Definition: ReferenceFrameFactor.h:89
const SharedNoiseModel & noiseModel() const
access to the noise model
Definition: NonlinearFactor.h:245
Matrix * OptionalMatrixType
Definition: NonlinearFactor.h:55
void print(const std::string &s="", const gtsam::KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
Definition: ReferenceFrameFactor.h:110
ReferenceFrameFactor(double mu, Key globalKey, Key transKey, Key localKey)
Definition: ReferenceFrameFactor.h:82
Vector evaluateError(const Point &global, const Transform &trans, const Point &local, OptionalMatrixType Dforeign, OptionalMatrixType Dtrans, OptionalMatrixType Dlocal) const override
Definition: ReferenceFrameFactor.h:100
ReferenceFrameFactor()
Definition: ReferenceFrameFactor.h:60
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition: Key.h:35
Definition: chartTesting.h:28
ReferenceFrameFactor(Key globalKey, Key transKey, Key localKey, const noiseModel::Base::shared_ptr &model)
Definition: ReferenceFrameFactor.h:75
Non-linear factor base classes.
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:102