@@ -54,40 +54,22 @@ using TransformReadyCallback = std::function<void (const TransformStampedFuture
5454
5555inline builtin_interfaces::msg::Time toMsg (const tf2::TimePoint & t)
5656{
57- std::chrono::nanoseconds ns =
58- std::chrono::duration_cast<std::chrono::nanoseconds>(t.time_since_epoch ());
59- std::chrono::seconds s =
60- std::chrono::duration_cast<std::chrono::seconds>(t.time_since_epoch ());
61- builtin_interfaces::msg::Time time_msg;
62- time_msg.sec = static_cast <int32_t >(s.count ());
63- time_msg.nanosec = static_cast <uint32_t >(ns.count () % 1000000000ull );
64- return time_msg;
57+ return tf2::toMsg<tf2::TimePoint, builtin_interfaces::msg::Time>(t);
6558}
6659
6760inline tf2::TimePoint fromMsg (const builtin_interfaces::msg::Time & time_msg)
6861{
69- int64_t d = time_msg.sec * 1000000000ull + time_msg.nanosec ;
70- std::chrono::nanoseconds ns (d);
71- return tf2::TimePoint (std::chrono::duration_cast<tf2::Duration>(ns));
62+ return tf2::TimePointFromMsg (time_msg);
7263}
7364
7465inline builtin_interfaces::msg::Duration toMsg (const tf2::Duration & t)
7566{
76- std::chrono::nanoseconds ns =
77- std::chrono::duration_cast<std::chrono::nanoseconds>(t);
78- std::chrono::seconds s =
79- std::chrono::duration_cast<std::chrono::seconds>(t);
80- builtin_interfaces::msg::Duration duration_msg;
81- duration_msg.sec = static_cast <int32_t >(s.count ());
82- duration_msg.nanosec = static_cast <uint32_t >(ns.count () % 1000000000ull );
83- return duration_msg;
67+ return tf2::toMsg<tf2::Duration, builtin_interfaces::msg::Duration>(t);
8468}
8569
8670inline tf2::Duration fromMsg (const builtin_interfaces::msg::Duration & duration_msg)
8771{
88- int64_t d = duration_msg.sec * 1000000000ull + duration_msg.nanosec ;
89- std::chrono::nanoseconds ns (d);
90- return tf2::Duration (std::chrono::duration_cast<tf2::Duration>(ns));
72+ return tf2::DurationFromMsg (duration_msg);
9173}
9274
9375inline double timeToSec (const builtin_interfaces::msg::Time & time_msg)
0 commit comments