22 #include <gtsam/geometry/Unit3.h> 52 nZ_(nZ), bRef_(bRef) {
59 const Unit3& nZ()
const {
62 const Unit3& bRef()
const {
66 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 68 friend class boost::serialization::access;
69 template<
class ARCHIVE>
70 void serialize(ARCHIVE & ar,
const unsigned int ) {
71 ar & boost::serialization::make_nvp(
"nZ_", nZ_);
72 ar & boost::serialization::make_nvp(
"bRef_", bRef_);
88 using Base::evaluateError;
116 gtsam::NonlinearFactor::shared_ptr
clone()
const override {
118 gtsam::NonlinearFactor::shared_ptr(
new This(*
this)));
123 DefaultKeyFormatter)
const override;
135 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 137 friend class boost::serialization::access;
138 template<
class ARCHIVE>
139 void serialize(ARCHIVE & ar,
const unsigned int ) {
141 ar & boost::serialization::make_nvp(
"NoiseModelFactor1",
142 boost::serialization::base_object<Base>(*
this));
143 ar & boost::serialization::make_nvp(
"AttitudeFactor",
144 boost::serialization::base_object<AttitudeFactor>(*
this));
167 using Base::evaluateError;
195 gtsam::NonlinearFactor::shared_ptr
clone()
const override {
197 gtsam::NonlinearFactor::shared_ptr(
new This(*
this)));
202 DefaultKeyFormatter)
const override;
212 *H = Matrix::Zero(2,6);
213 H->block<2,3>(0,0) = H23;
220 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 222 friend class boost::serialization::access;
223 template<
class ARCHIVE>
224 void serialize(ARCHIVE & ar,
const unsigned int ) {
226 ar & boost::serialization::make_nvp(
"NoiseModelFactor1",
227 boost::serialization::base_object<Base>(*
this));
228 ar & boost::serialization::make_nvp(
"AttitudeFactor",
229 boost::serialization::base_object<AttitudeFactor>(*
this));
Pose3AttitudeFactor()
Definition: AttitudeFactor.h:176
Definition: NonlinearFactor.h:431
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:113
Definition: Testable.h:152
Definition: NonlinearFactor.h:68
Unit3 bRef_
Position measurement in.
Definition: AttitudeFactor.h:38
Vector evaluateError(const Rot3 &nRb, OptionalMatrixType H) const override
Definition: AttitudeFactor.h:129
Vector attitudeError(const Rot3 &p, OptionalJacobian< 2, 3 > H={}) const
Rot3 is a 3D rotation represented as a rotation matrix if the preprocessor symbol GTSAM_USE_QUATERNIO...
Definition: Rot3.h:58
gtsam::NonlinearFactor::shared_ptr clone() const override
Definition: AttitudeFactor.h:116
Rot3AttitudeFactor This
Typedef to this class.
Definition: AttitudeFactor.h:94
Represents a 3D point on a unit sphere.
Definition: Unit3.h:42
Definition: Testable.h:112
Pose3AttitudeFactor(Key key, const Unit3 &nZ, const SharedNoiseModel &model, const Unit3 &bRef=Unit3(0, 0, 1))
Constructor.
Definition: AttitudeFactor.h:189
Matrix * OptionalMatrixType
Definition: NonlinearFactor.h:55
GTSAM_EXPORT void print(const Matrix &A, const std::string &s, std::ostream &stream)
Definition: AttitudeFactor.h:34
AttitudeFactor(const Unit3 &nZ, const Unit3 &bRef=Unit3(0, 0, 1))
Constructor.
Definition: AttitudeFactor.h:51
Definition: AttitudeFactor.h:81
Vector evaluateError(const Pose3 &nTb, OptionalMatrixType H) const override
Definition: AttitudeFactor.h:208
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
Rot3AttitudeFactor()
Definition: AttitudeFactor.h:97
Definition: chartTesting.h:28
Definition: AttitudeFactor.h:159
Definition: OptionalJacobian.h:38
Non-linear factor base classes.
std::shared_ptr< Pose3AttitudeFactor > shared_ptr
shorthand for a smart pointer to a factor
Definition: AttitudeFactor.h:170
const Rot3 & rotation(OptionalJacobian< 3, 6 > Hself={}) const
get rotation
#define GTSAM_MAKE_ALIGNED_OPERATOR_NEW
Definition: types.h:284
gtsam::NonlinearFactor::shared_ptr clone() const override
Definition: AttitudeFactor.h:195
Pose3AttitudeFactor This
Typedef to this class.
Definition: AttitudeFactor.h:173
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:102
std::shared_ptr< Rot3AttitudeFactor > shared_ptr
shorthand for a smart pointer to a factor
Definition: AttitudeFactor.h:91
AttitudeFactor()
Definition: AttitudeFactor.h:43
noiseModel::Base::shared_ptr SharedNoiseModel
Definition: NoiseModel.h:741
Rot3AttitudeFactor(Key key, const Unit3 &nZ, const SharedNoiseModel &model, const Unit3 &bRef=Unit3(0, 0, 1))
Constructor.
Definition: AttitudeFactor.h:110