26 template <
typename A1,
typename A2>
35 template <
typename A1,
typename A2,
36 typename T =
typename Bearing<A1, A2>::result_type>
58 void print(
const std::string&
s =
"",
60 std::cout <<
s <<
"BearingFactor" << std::endl;
65 boost::optional<Matrix&> H1 = boost::none,
66 boost::optional<Matrix&> H2 = boost::none)
const 68 std::vector<Matrix> Hs(2);
81 template <
class ARCHIVE>
83 ar& boost::serialization::make_nvp(
84 "Base", boost::serialization::base_object<Base>(*
this));
89 template <
typename A1,
typename A2,
typename T>
91 :
public Testable<BearingFactor<A1, A2, T> > {};
const T & measured() const
double error(const Values &c) const override
std::array< Key, NARY_EXPRESSION_SIZE > ArrayNKeys
void print(const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
print relies on Testable traits being defined for T
Expression< T > expression() const override
Return an expression that predicts the measurement given Values.
noiseModel::Diagonal::shared_ptr model
BearingFactor(Key key1, Key key2, const T &measured, const SharedNoiseModel &model)
primary constructor
void initialize(const Expression< T > &expression)
Initialize with constructor arguments.
Vector unwhitenedError(const Values &x, boost::optional< std::vector< Matrix > & > H=boost::none) const override
static const KeyFormatter DefaultKeyFormatter
BearingFactor()
default constructor
const Symbol key1('v', 1)
friend class boost::serialization::access
Expression< T > expression(const typename Base::ArrayNKeys &keys) const override
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
GenericValue< T > genericValue(const T &v)
void print(const std::string &s="", const KeyFormatter &kf=DefaultKeyFormatter) const override
print
void serialize(ARCHIVE &ar, const unsigned int)
const KeyVector & keys() const
Access the factor's involved variable keys.
const Symbol key2('v', 2)
ExpressionFactorN< T, A1, A2 > Base
Vector evaluateError(const A1 &a1, const A2 &a2, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
std::uint64_t Key
Integer nonlinear key type.
noiseModel::Base::shared_ptr SharedNoiseModel