29 #ifndef HECTOR_POSE_ESTIMATION_INPUT_H 30 #define HECTOR_POSE_ESTIMATION_INPUT_H 53 template <
int _Dimension>
56 enum { Dimension = _Dimension };
64 template <
typename Derived>
Input_(
const Eigen::MatrixBase<Derived>& u) : u_(u) {}
65 template <
typename Derived>
Input_(
const Eigen::MatrixBase<Derived>& u,
const Variance& Q) : u_(u), variance_(new Variance(Q)) {}
67 Input_(
double u,
const Variance& Q) : variance_(new Variance(Q)) { *
this = u; }
73 virtual Vector
const &
getVector()
const {
return u_; }
74 virtual Vector&
u() {
return u_; }
77 if (!variance_) variance_.reset(
new Variance);
82 virtual bool hasVariance()
const {
return (variance_.get() != 0); }
83 virtual Variance
const &
getVariance() {
if (!variance_) variance_.reset(
new Variance);
return *variance_; }
84 virtual Variance
const &
getVariance()
const {
return *variance_; }
85 virtual Variance&
variance() {
if (!variance_) variance_.reset(
new Variance);
return *variance_; }
98 template <
typename Derived> Vector &
operator=(
const Eigen::MatrixBase<Derived>& other) {
103 virtual Vector &
operator=(
double u) { u_.setConstant(u);
return u_; }
111 template <
class Model>
struct Input {
112 enum { Dimension = 0 };
121 #endif // HECTOR_POSE_ESTIMATION_INPUT_H
Matrix_< RowsCols, RowsCols >::type type