Skip to content

Commit 67fa0e7

Browse files
committed
eigen doxy WIP
1 parent 9740be5 commit 67fa0e7

File tree

1 file changed

+31
-16
lines changed

1 file changed

+31
-16
lines changed

tf2_eigen/include/tf2_eigen/tf2_eigen.h

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,16 @@ inline geometry_msgs::msg::TransformStamped eigenToTransform(const Eigen::Isomet
8787

8888
namespace impl
8989
{
90-
template <int mode>
90+
/** \brief Template for Eigen::Isometry3d and Eigen::Affine3d conversion
91+
* \tparam mode Mode argument for Eigen::Transform template
92+
*/
93+
template<int mode>
9194
struct EigenTransformImpl
9295
{
96+
/** \brief Convert a Transform message to an Eigen type.
97+
* \param msg The message to convert
98+
* \param out The converted message, as an Eigen type
99+
*/
93100
static void fromMsg(
94101
const geometry_msgs::msg::Transform & msg, Eigen::Transform<double, 3, mode> & out)
95102
{
@@ -100,6 +107,10 @@ struct EigenTransformImpl
100107
out = Eigen::Translation3d(v) * q;
101108
}
102109

110+
/** \brief Convert an Eigen Transform to a Transform message
111+
* \param in The Eigen Transform to convert
112+
* \param msg The converted Transform, as a message
113+
*/
103114
static void toMsg(
104115
const Eigen::Transform<double, 3, mode> & in, geometry_msgs::msg::Transform & msg)
105116
{
@@ -108,27 +119,31 @@ struct EigenTransformImpl
108119
}
109120
};
110121

111-
template <>
122+
/// \brief Conversion implementation for geometry_msgs::msg::Transform and Eigen::Affine3d
123+
template<>
112124
struct ImplDetails<Eigen::Affine3d, geometry_msgs::msg::Transform>
113-
: EigenTransformImpl<Eigen::Affine>
125+
: EigenTransformImpl<Eigen::Affine>
114126
{
115127
};
116128

117-
template <>
129+
/// \brief Conversion implementation for geometry_msgs::msg::Transform and Eigen::Isometry3d
130+
template<>
118131
struct ImplDetails<Eigen::Isometry3d, geometry_msgs::msg::Transform>
119-
: EigenTransformImpl<Eigen::Isometry>
132+
: EigenTransformImpl<Eigen::Isometry>
120133
{
121134
};
122135

123-
template <>
136+
/// \brief Conversion implementation for geometry_msgs::msg::Point and Eigen::Vector3d
137+
template<>
124138
struct ImplDetails<Eigen::Vector3d, geometry_msgs::msg::Point>
125-
: DefaultVectorImpl<Eigen::Vector3d, geometry_msgs::msg::Point>
139+
: DefaultVectorImpl<Eigen::Vector3d, geometry_msgs::msg::Point>
126140
{
127141
};
128142

129-
template <>
143+
/// \brief Conversion implementation for geometry_msgs::msg::Vector3d and Eigen::Vector3d
144+
template<>
130145
struct ImplDetails<Eigen::Vector3d, geometry_msgs::msg::Vector3>
131-
: DefaultVectorImpl<Eigen::Vector3d, geometry_msgs::msg::Vector3>
146+
: DefaultVectorImpl<Eigen::Vector3d, geometry_msgs::msg::Vector3>
132147
{
133148
};
134149

@@ -145,14 +160,15 @@ struct defaultMessage<Eigen::Vector3d>
145160
using type = geometry_msgs::msg::Point;
146161
};
147162

148-
/** \brief Convert a Eigen Quaterniond type to a Quaternion message.
149-
* This function is a specialization of the toMsg template defined in tf2/convert.h.
150-
* \param in The Eigen Quaterniond to convert.
151-
* \return The quaternion converted to a Quaterion message.
152-
*/
153-
template <>
163+
/// \brief Conversion implementation for geometry_msgs::msg::Quaternion and Eigen::Quaterniond
164+
template<>
154165
struct ImplDetails<Eigen::Quaterniond, geometry_msgs::msg::Quaternion>
155166
{
167+
168+
/** \brief Convert a Eigen Quaterniond type to a Quaternion message.
169+
* \param in The Eigen Quaterniond to convert.
170+
* \param msg The quaternion converted to a Quaterion message.
171+
*/
156172
static void toMsg(const Eigen::Quaterniond & in, geometry_msgs::msg::Quaternion & msg)
157173
{
158174
msg.w = in.w();
@@ -162,7 +178,6 @@ struct ImplDetails<Eigen::Quaterniond, geometry_msgs::msg::Quaternion>
162178
}
163179

164180
/** \brief Convert a Quaternion message type to a Eigen-specific Quaterniond type.
165-
* This function is a specialization of the fromMsg template defined in tf2/convert.h
166181
* \param msg The Quaternion message to convert.
167182
* \param out The quaternion converted to a Eigen Quaterniond.
168183
*/

0 commit comments

Comments
 (0)