Public Types | Private Types | Private Attributes | List of all members
gtsam::BearingRange< A1, A2, B, R > Struct Template Reference

#include <BearingRange.h>

Public Types

enum  { dimB = traits<B>::dimension }
 
enum  { dimR = traits<R>::dimension }
 
enum  { dimension = dimB + dimR }
 

Public Member Functions

Standard Constructors
 BearingRange ()
 
 BearingRange (const B &b, const R &r)
 
Testable
void print (const std::string &str="") const
 
bool equals (const BearingRange< A1, A2 > &m2, double tol=1e-8) const
 

Private Types

enum  { NeedsToAlign = (sizeof(B) % 16) == 0 || (sizeof(R) % 16) == 0 }
 

Private Attributes

B bearing_
 
R range_
 

Standard Interface

const Bbearing () const
 Return bearing measurement. More...
 
const Rrange () const
 Return range measurement. More...
 
static BearingRange Measure (const A1 &a1, const A2 &a2, OptionalJacobian< dimension, traits< A1 >::dimension > H1=boost::none, OptionalJacobian< dimension, traits< A2 >::dimension > H2=boost::none)
 Prediction function that stacks measurements. More...
 
static B MeasureBearing (const A1 &a1, const A2 &a2)
 Predict bearing. More...
 
static R MeasureRange (const A1 &a1, const A2 &a2)
 Predict range. More...
 

Manifold

typedef Eigen::Matrix< double, dimension, 1 > TangentVector
 
typedef OptionalJacobian< dimension, dimensionChartJacobian
 
size_t dim () const
 
BearingRange retract (const TangentVector &xi) const
 Retract delta to manifold. More...
 
TangentVector localCoordinates (const BearingRange &other) const
 Compute the coordinates in the tangent space. More...
 
static size_t Dim ()
 

Advanced Interface

class boost::serialization::access
 
template<class ARCHIVE >
void serialize (ARCHIVE &ar, const unsigned int)
 Serialization function. More...
 

Detailed Description

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
struct gtsam::BearingRange< A1, A2, B, R >

Bearing-Range product for a particular A1,A2 combination will use the functors above to create a similar functor of type A1*A2 -> pair<Bearing::return_type,Range::return_type> For example BearingRange<Pose2,Point2>(pose,point) will return pair<Rot2,double> and BearingRange<Pose3,Point3>(pose,point) will return pair<Unit3,double>

Definition at line 50 of file BearingRange.h.

Member Typedef Documentation

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
typedef OptionalJacobian<dimension, dimension> gtsam::BearingRange< A1, A2, B, R >::ChartJacobian

Definition at line 126 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
typedef Eigen::Matrix<double, dimension, 1> gtsam::BearingRange< A1, A2, B, R >::TangentVector

Definition at line 125 of file BearingRange.h.

Member Enumeration Documentation

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
anonymous enum
Enumerator
dimB 

Definition at line 56 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
anonymous enum
Enumerator
dimR 

Definition at line 57 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
anonymous enum
Enumerator
dimension 

Definition at line 58 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
anonymous enum
private
Enumerator
NeedsToAlign 

Definition at line 161 of file BearingRange.h.

Constructor & Destructor Documentation

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
gtsam::BearingRange< A1, A2, B, R >::BearingRange ( )
inline

Definition at line 63 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
gtsam::BearingRange< A1, A2, B, R >::BearingRange ( const B b,
const R r 
)
inline

Definition at line 64 of file BearingRange.h.

Member Function Documentation

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
const B& gtsam::BearingRange< A1, A2, B, R >::bearing ( ) const
inline

Return bearing measurement.

Definition at line 71 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
static size_t gtsam::BearingRange< A1, A2, B, R >::Dim ( )
inlinestatic

Definition at line 122 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
size_t gtsam::BearingRange< A1, A2, B, R >::dim ( ) const
inline

Definition at line 123 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
bool gtsam::BearingRange< A1, A2, B, R >::equals ( const BearingRange< A1, A2 > &  m2,
double  tol = 1e-8 
) const
inline

Definition at line 113 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
TangentVector gtsam::BearingRange< A1, A2, B, R >::localCoordinates ( const BearingRange< A1, A2, B, R > &  other) const
inline

Compute the coordinates in the tangent space.

Definition at line 136 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
static BearingRange gtsam::BearingRange< A1, A2, B, R >::Measure ( const A1 &  a1,
const A2 &  a2,
OptionalJacobian< dimension, traits< A1 >::dimension H1 = boost::none,
OptionalJacobian< dimension, traits< A2 >::dimension H2 = boost::none 
)
inlinestatic

Prediction function that stacks measurements.

Definition at line 77 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
static B gtsam::BearingRange< A1, A2, B, R >::MeasureBearing ( const A1 &  a1,
const A2 &  a2 
)
inlinestatic

Predict bearing.

Definition at line 95 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
static R gtsam::BearingRange< A1, A2, B, R >::MeasureRange ( const A1 &  a1,
const A2 &  a2 
)
inlinestatic

Predict range.

Definition at line 100 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
void gtsam::BearingRange< A1, A2, B, R >::print ( const std::string &  str = "") const
inline

Definition at line 108 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
const R& gtsam::BearingRange< A1, A2, B, R >::range ( ) const
inline

Return range measurement.

Definition at line 74 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
BearingRange gtsam::BearingRange< A1, A2, B, R >::retract ( const TangentVector xi) const
inline

Retract delta to manifold.

Definition at line 129 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
template<class ARCHIVE >
void gtsam::BearingRange< A1, A2, B, R >::serialize ( ARCHIVE &  ar,
const unsigned  int 
)
inlineprivate

Serialization function.

Definition at line 151 of file BearingRange.h.

Friends And Related Function Documentation

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
friend class boost::serialization::access
friend

Definition at line 156 of file BearingRange.h.

Member Data Documentation

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
B gtsam::BearingRange< A1, A2, B, R >::bearing_
private

Definition at line 52 of file BearingRange.h.

template<typename A1, typename A2, typename B = typename Bearing<A1, A2>::result_type, typename R = typename Range<A1, A2>::result_type>
R gtsam::BearingRange< A1, A2, B, R >::range_
private

Definition at line 53 of file BearingRange.h.


The documentation for this struct was generated from the following file:


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:58:04