58 std::uint32_t nanoseconds,
59 const std::string &parent_frame_id,
60 const std::string &child_frame_id,
61 float tx,
float ty,
float tz,
62 float pitch_deg,
float yaw_deg,
float roll_deg) {
63 std::array<float, 3> translation;
64 std::array<float, 4> rotation;
68 && IsSameTransform(it->second, tx, ty, tz, pitch_deg, yaw_deg, roll_deg)) {
69 translation = it->second.translation;
70 rotation = it->second.rotation;
76 translation = computed.translation;
77 rotation = computed.rotation;
81 tx, ty, tz, pitch_deg, yaw_deg, roll_deg, translation, rotation});
86 ts.header.stamp.nanosec = nanoseconds;
87 ts.header.frame_id = parent_frame_id;
88 ts.child_frame_id = child_frame_id;
90 ts.transform.translation.x = translation[0];
91 ts.transform.translation.y = translation[1];
92 ts.transform.translation.z = translation[2];
93 ts.transform.rotation.w = rotation[0];
94 ts.transform.rotation.x = rotation[1];
95 ts.transform.rotation.y = rotation[2];
96 ts.transform.rotation.z = rotation[3];
98 _impl->GetMessage()->transforms = {ts};