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={}, OptionalJacobian< dimension, traits< A2 >::dimension > H2={})
 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 ()
 

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 52 of file BearingRange.h.

Member Typedef Documentation

◆ ChartJacobian

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 128 of file BearingRange.h.

◆ TangentVector

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 127 of file BearingRange.h.

Member Enumeration Documentation

◆ anonymous enum

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 58 of file BearingRange.h.

◆ anonymous enum

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 59 of file BearingRange.h.

◆ anonymous enum

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 60 of file BearingRange.h.

◆ anonymous enum

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 165 of file BearingRange.h.

Constructor & Destructor Documentation

◆ BearingRange() [1/2]

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 65 of file BearingRange.h.

◆ BearingRange() [2/2]

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 66 of file BearingRange.h.

Member Function Documentation

◆ bearing()

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 73 of file BearingRange.h.

◆ Dim()

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 124 of file BearingRange.h.

◆ dim()

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 125 of file BearingRange.h.

◆ equals()

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 115 of file BearingRange.h.

◆ localCoordinates()

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 138 of file BearingRange.h.

◆ Measure()

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 = {},
OptionalJacobian< dimension, traits< A2 >::dimension H2 = {} 
)
inlinestatic

Prediction function that stacks measurements.

Definition at line 79 of file BearingRange.h.

◆ MeasureBearing()

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 97 of file BearingRange.h.

◆ MeasureRange()

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 102 of file BearingRange.h.

◆ print()

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 110 of file BearingRange.h.

◆ range()

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 76 of file BearingRange.h.

◆ retract()

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 131 of file BearingRange.h.

Member Data Documentation

◆ bearing_

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 54 of file BearingRange.h.

◆ range_

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 55 of file BearingRange.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:46:15