25 #ifndef INCLUDED_PinholeCameraFlip_h_GUID_3FDD8165_096C_4DBA_1E42_20EF78AD28C8
26 #define INCLUDED_PinholeCameraFlip_h_GUID_3FDD8165_096C_4DBA_1E42_20EF78AD28C8
35 #include <type_traits>
40 inline void pinholeCameraFlipPose(Eigen::Ref<Eigen::Vector3d> xlate,
41 Eigen::Quaterniond &rot) {
43 template <
typename VecType>
44 inline void pinholeCameraFlipPose(VecType &&xlate,
45 Eigen::Quaterniond &rot) {
47 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Derived, 3);
48 static_assert(std::is_same<double, typename Derived::Scalar>::value,
49 "Translation scalar type must also be double.");
55 rot = get180aboutZ() * rot;
60 pinholeCameraFlipVelocities(Eigen::Ref<Eigen::Vector3d> &linVel,
61 Eigen::Ref<Eigen::Vector3d> &angVel) {
63 template <
typename Vec1,
typename Vec2>
64 inline void pinholeCameraFlipVelocities(Vec1 &&linVel, Vec2 &&angVel) {
66 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Derived1, 3);
67 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Derived2, 3);
70 "Velocities must have the same scalar type.");
76 angVel = get180aboutZ() * angVel;
82 #endif // INCLUDED_PinholeCameraFlip_h_GUID_3FDD8165_096C_4DBA_1E42_20EF78AD28C8
Header wrapping include of and for warning quieting.
double Scalar
Common scalar type.