diff options
author | Rasmus Munk Larsen <rmlarsen@google.com> | 2020-07-09 12:49:58 -0700 |
---|---|---|
committer | Rasmus Munk Larsen <rmlarsen@google.com> | 2020-07-09 12:49:58 -0700 |
commit | fb77b7288ce5406ff819d8fd71ad59e317d1817f (patch) | |
tree | 2212d9e61c9a0650e7a5933e347bab875ad3f269 /Eigen/src/Geometry | |
parent | ee4715ff488d5cf685820ad06374cbe7d509ac1a (diff) |
Add operator<< to print a quaternion.
Diffstat (limited to 'Eigen/src/Geometry')
-rw-r--r-- | Eigen/src/Geometry/Quaternion.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Eigen/src/Geometry/Quaternion.h b/Eigen/src/Geometry/Quaternion.h index dd1217e5e..bebfca422 100644 --- a/Eigen/src/Geometry/Quaternion.h +++ b/Eigen/src/Geometry/Quaternion.h @@ -197,20 +197,25 @@ class QuaternionBase : public RotationBase<Derived, 3> #else template<typename NewScalarType> - EIGEN_DEVICE_FUNC inline + EIGEN_DEVICE_FUNC inline typename internal::enable_if<internal::is_same<Scalar,NewScalarType>::value,const Derived&>::type cast() const { return derived(); } template<typename NewScalarType> - EIGEN_DEVICE_FUNC inline + EIGEN_DEVICE_FUNC inline typename internal::enable_if<!internal::is_same<Scalar,NewScalarType>::value,Quaternion<NewScalarType> >::type cast() const { return Quaternion<NewScalarType>(coeffs().template cast<NewScalarType>()); } #endif + friend std::ostream& operator<<(std::ostream& s, const QuaternionBase<Derived>& q) { + s << q.x() << "i + " << q.y() << "j + " << q.z() << "k" << " + " << q.w(); + return s; + } + #ifdef EIGEN_QUATERNIONBASE_PLUGIN # include EIGEN_QUATERNIONBASE_PLUGIN #endif |