1 #ifndef __BASE_TRANSFORM_WITH_COVARIANCE_HPP__ 2 #define __BASE_TRANSFORM_WITH_COVARIANCE_HPP__ 4 #include <base/Pose.hpp> 5 #include <base/Eigen.hpp> 60 : translation(translation), orientation(orientation)
66 : translation(translation), orientation(orientation), cov(cov)
104 std::pair<Eigen::Vector3d, Eigen::Matrix3d>
121 return this->cov.topLeftCorner<3,3>();
126 this->cov.topLeftCorner<3,3>() = cov;
131 return this->cov.bottomRightCorner<3,3>();
136 this->cov.bottomRightCorner<3,3>() = cov;
148 this->translation = trans.translation();
159 this->orientation = q;
164 return !translation.hasNaN() && !orientation.coeffs().hasNaN();
169 translation = Position::Ones() * NaN<double>();
170 orientation.coeffs() = Vector4d::Ones() * NaN<double>();
176 return !cov.hasNaN();
181 cov = Covariance::Ones() * NaN<double>();
195 static inline double sign(
double v );
Eigen::Transform< double, 3, Eigen::Affine, Eigen::DontAlign > Affine3d
Definition: Eigen.hpp:35
Eigen::Quaternion< double, Eigen::DontAlign > Quaterniond
Definition: Eigen.cpp:14
base::Quaterniond Orientation
Definition: Pose.hpp:11
base::Vector3d Position
Definition: Pose.hpp:10
Eigen::Quaternion< double, Eigen::DontAlign > Quaterniond
Definition: Eigen.hpp:33
Definition: LinearAngular6DCommand.hpp:8
Eigen::Matrix< double, 3, 1, Eigen::DontAlign > Vector3d
Definition: Eigen.cpp:12
Eigen::Matrix< double, 6, 6, Eigen::DontAlign > Matrix6d
Definition: Eigen.hpp:29
Eigen::Matrix< double, 3, 3, Eigen::DontAlign > Matrix3d
Definition: Eigen.hpp:27