MCPcopy Create free account
hub / github.com/OpenPTrack/open_ptrack_v2 / synchronizedCallback

Function synchronizedCallback

opt_utils/apps/ros2udp_converter_pose.cpp:195–235  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

193}
194
195void
196synchronizedCallback(
197 const opt_msgs::SkeletonTrackArrayConstPtr& skel_track_msg,
198 const opt_msgs::StandardSkeletonTrackArrayConstPtr& st_skel_msg,
199 const opt_msgs::PoseRecognitionArrayConstPtr& pr_array_msg)
200{
201 // ROS_INFO_STREAM("Synchronized!");
202 std::string buffer("");
203 for (int i = 0, end = skel_track_msg->tracks.size(); i < end; ++i)
204 {
205 Jzon::Object current_track;
206 const opt_msgs::SkeletonTrack& t = skel_track_msg->tracks[i];
207 const opt_msgs::StandardSkeletonTrack& st_t = st_skel_msg->tracks[i];
208 const opt_msgs::PoseRecognition& pr = pr_array_msg->poses[i];
209 std::string jsonmsg = toJsonPoseMsg(pr_array_msg->header,
210 skel_track_msg->header.frame_id,
211 t, st_t, pr);
212 if (jsonmsg.length() + 1 > udp_buffer_length)
213 {
214 ROS_WARN_STREAM("Unexpected: json message doesn’t fit in payload "
215 << jsonmsg);
216 if (not buffer.empty())
217 {
218 sendPacket(buffer);
219 buffer = "";
220 }
221 sendPacket(jsonmsg);
222 continue;
223 }
224 if (jsonmsg.length() + 1 + buffer.length() + 1 > udp_buffer_length)
225 {
226 sendPacket(buffer);
227 buffer = "";
228 }
229 buffer += jsonmsg;
230 }
231 // jb
232 // send remaining buffer
233 if (not buffer.empty())
234 sendPacket(buffer);
235}
236
237
238typedef unsigned long uint32;

Callers

nothing calls this directly

Calls 3

toJsonPoseMsgFunction · 0.85
sendPacketFunction · 0.85
sizeMethod · 0.45

Tested by

no test coverage detected