24 #include <boost/concept/assert.hpp> 31 template <
typename A1,
typename A2>
37 template <
typename A1,
typename A2>
46 template <
typename A1,
typename A2>
49 typename Range<A1, A2>::result_type> {
60 const A1& a1,
const A2& a2,
64 typename MakeJacobian<B, A1>::type HB1;
65 typename MakeJacobian<B, A2>::type HB2;
66 typename MakeJacobian<R, A1>::type HR1;
67 typename MakeJacobian<R, A2>::type HR2;
72 if (H1) *H1 << HB1, HR1;
73 if (H2) *H2 << HB2, HR2;
77 void print(
const std::string& str =
"")
const {
89 template <
class ARCHIVE>
90 void serialize(ARCHIVE& ar,
const unsigned int ) {
91 ar& boost::serialization::make_nvp(
"bearing", this->first);
92 ar& boost::serialization::make_nvp(
"range", this->second);
95 friend class boost::serialization::access;
99 template <
typename A1,
typename A2>
108 template <
class A1,
typename A2,
class RT>
110 typedef RT result_type;
112 const A1& a1,
const A2& a2,
115 return a1.bearing(a2, H1, H2);
122 template <
class A1,
typename A2,
class RT>
124 typedef RT result_type;
126 const A1& a1,
const A2& a2,
129 return a1.range(a2, H1, H2);
Bearing-Range product for a particular A1,A2 combination will use the functors above to create a simi...
Definition: BearingRange.h:47
Definition: BearingRange.h:38
static BearingRange Measure(const A1 &a1, const A2 &a2, OptionalJacobian< Base::dimension, traits< A1 >::dimension > H1=boost::none, OptionalJacobian< Base::dimension, traits< A2 >::dimension > H2=boost::none)
Prediction function that stacks measurements.
Definition: BearingRange.h:59
OptionalJacobian is an Eigen::Ref like class that can take be constructed using either a fixed size o...
Definition: OptionalJacobian.h:39
Definition: BearingRange.h:32
A helper that implements the traits interface for GTSAM types.
Definition: Testable.h:150
Base class and basic functions for Manifold types.
Template to create a binary predicate.
Definition: Testable.h:110
A helper that implements the traits interface for GTSAM manifolds.
Definition: Manifold.h:95
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
Definition: BearingRange.h:123
Definition: BearingRange.h:109
Special class for optional Jacobian arguments.
Helper class to construct the product manifold of two other manifolds, M1 and M2 Assumes nothing exce...
Definition: Manifold.h:175
Definition: HessianFactor.cpp:53
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
Concept check for values that can be used in unit tests.