33#ifndef DART_GUI_OSG_UTILS_HPP_
34#define DART_GUI_OSG_UTILS_HPP_
36#include <Eigen/Geometry>
40template <
typename Scalar>
42 const Eigen::Transform<Scalar, 3, Eigen::Isometry>& tf)
64template <
typename Derived>
87template <
typename Derived>
90 return ::osg::Vec3f(vec[0], vec[1], vec[2]);
94template <
typename Derived>
97 return ::osg::Vec3d(vec[0], vec[1], vec[2]);
101template <
typename Derived>
102typename std::conditional<
103 std::is_same<typename Derived::Scalar, float>::value,
108 using Vec3 =
typename std::conditional<
109 std::is_same<typename Derived::Scalar, float>::value,
113 return Vec3(vec[0], vec[1], vec[2]);
119 return Eigen::Vector3f(vec[0], vec[1], vec[2]);
125 return Eigen::Vector3d(vec[0], vec[1], vec[2]);
129template <
typename Derived>
132 return ::osg::Vec4f(vec[0], vec[1], vec[2], vec[3]);
136template <
typename Derived>
139 return ::osg::Vec4d(vec[0], vec[1], vec[2], vec[3]);
143template <
typename Derived>
145 std::is_same<typename Derived::Scalar, float>::value,
150 return std::conditional<
151 std::is_same<typename Derived::Scalar, float>::value,
153 ::osg::Vec4d>(vec[0], vec[1], vec[2], vec[3]);
159 return Eigen::Vector4f(vec[0], vec[1], vec[2], vec[3]);
165 return Eigen::Vector4d(vec[0], vec[1], vec[2], vec[3]);
std::string type
Definition SdfParser.cpp:82
Eigen::Vector3f osgToEigVec3(const ::osg::Vec3f &vec)
Definition Utils.hpp:117
::osg::Vec4f eigToOsgVec4f(const Eigen::MatrixBase< Derived > &vec)
Definition Utils.hpp:130
std::conditional< std::is_same< typenameDerived::Scalar, float >::value,::osg::Vec3f,::osg::Vec3d >::type eigToOsgVec3(const Eigen::MatrixBase< Derived > &vec)
Definition Utils.hpp:106
std::conditional< std::is_same< typename Derived::Scalar, float >::value, ::osg::Vec4f, ::osg::Vec4d > eigToOsgVec4(const Eigen::MatrixBase< Derived > &vec)
Definition Utils.hpp:148
::osg::Vec3f eigToOsgVec3f(const Eigen::MatrixBase< Derived > &vec)
Definition Utils.hpp:88
::osg::Vec3d eigToOsgVec3d(const Eigen::MatrixBase< Derived > &vec)
Definition Utils.hpp:95
::osg::Vec4d eigToOsgVec4d(const Eigen::MatrixBase< Derived > &vec)
Definition Utils.hpp:137
::osg::Matrix eigToOsgMatrix(const Eigen::Transform< Scalar, 3, Eigen::Isometry > &tf)
Definition Utils.hpp:41
Eigen::Vector4f osgToEigVec4(const ::osg::Vec4f &vec)
Definition Utils.hpp:157