aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Geometry
diff options
context:
space:
mode:
authorGravatar Rasmus Munk Larsen <rmlarsen@google.com>2020-07-09 12:49:58 -0700
committerGravatar Rasmus Munk Larsen <rmlarsen@google.com>2020-07-09 12:49:58 -0700
commitfb77b7288ce5406ff819d8fd71ad59e317d1817f (patch)
tree2212d9e61c9a0650e7a5933e347bab875ad3f269 /Eigen/src/Geometry
parentee4715ff488d5cf685820ad06374cbe7d509ac1a (diff)
Add operator<< to print a quaternion.
Diffstat (limited to 'Eigen/src/Geometry')
-rw-r--r--Eigen/src/Geometry/Quaternion.h9
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