27template <
typename A1,
typename A2>
36template <
typename A1,
typename A2,
52 : Base(model, key1, key2), measured_(
measured) {}
55 gtsam::NonlinearFactor::shared_ptr
clone()
const override {
56 return std::static_pointer_cast<gtsam::NonlinearFactor>(
57 gtsam::NonlinearFactor::shared_ptr(
new This(*
this)));
61 const T&
measured()
const {
return measured_; }
64 void print(
const std::string& s =
"",
66 std::cout << s <<
"BearingFactor" << std::endl;
73 const This* p =
dynamic_cast<const This*
>(&f);
87#if GTSAM_ENABLE_BOOST_SERIALIZATION
88 friend class boost::serialization::access;
90 template <
class ARCHIVE>
91 void serialize(ARCHIVE& ar,
const unsigned int ) {
92 ar& boost::serialization::make_nvp(
93 "NoiseModelFactor2", boost::serialization::base_object<Base>(*
this));
94 ar& BOOST_SERIALIZATION_NVP(measured_);
100template <
typename A1,
typename A2,
typename T>
102 :
public Testable<BearingFactor<A1, A2, T> > {};
Arbitrary-arity Jacobian factor with compile-time block dimensions.
Base class for noise model factors with N variables.
#define OptionalNone
These typedefs and aliases will help with making the evaluateError interface independent of boost TOD...
Definition NonlinearFactor.h:51
Global functions in a separate testing namespace.
Definition chartTesting.h:28
KeyFormatter DefaultKeyFormatter
Assign default key formatter.
Definition Key.cpp:30
Matrix * OptionalMatrixType
This typedef will be used everywhere boost::optional<Matrix&> reference was used previously.
Definition NonlinearFactor.h:57
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
noiseModel::Base::shared_ptr SharedNoiseModel
Aliases.
Definition NoiseModel.h:846
std::uint64_t Key
Integer nonlinear key type.
Definition types.h:43
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition Group.h:37
A helper that implements the traits interface for GTSAM types.
Definition Testable.h:152
Definition BearingRange.h:36
virtual void print(const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const
print
Definition Factor.cpp:29
bool equals(const This &other, double tol=1e-9) const
check equality
Definition Factor.cpp:42
NoiseModelFactorT()
Default Constructor for I/O.
Definition NoiseModelFactorN.h:257
Nonlinear factor base class.
Definition NonlinearFactor.h:70
Binary factor for a bearing measurement Works for any two types A1,A2 for which the functor Bearing<A...
Definition BearingFactor.h:39
bool equals(const NonlinearFactor &f, double tol=1e-9) const override
Check equality up to a tolerance.
Definition BearingFactor.h:72
void print(const std::string &s="", const KeyFormatter &kf=DefaultKeyFormatter) const override
print
Definition BearingFactor.h:64
const T & measured() const
Definition BearingFactor.h:61
ErrorVector evaluateError(const A1 &a1, const A2 &a2, OptionalMatrixType H1=OptionalNone, OptionalMatrixType H2=OptionalNone) const override
Evaluate the unwhitened bearing error and optional Jacobians.
Definition BearingFactor.h:79
BearingFactor(Key key1, Key key2, const T &measured, const SharedNoiseModel &model)
Construct from keys, a bearing measurement, and a noise model.
Definition BearingFactor.h:50
BearingFactor()=default
default constructor
gtsam::NonlinearFactor::shared_ptr clone() const override
Definition BearingFactor.h:55