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

Method toMsg

tracking/src/skeleton_track.cpp:193–248  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

191}
192
193void
194SkeletonTrack::toMsg(opt_msgs::SkeletonTrack& track_msg, bool vertical)
195{
196 if(SkeletonTrack::count == 0 && debug_count_ <= 0)
197 ROS_WARN_STREAM("SkeletonTrack TODO: Define the skel_track_msg");
198 double _x,_y;
199 filter_->getState(_x,_y);
200
201 track_msg.id = id_;
202 track_msg.x = _x;
203 track_msg.y = _y;
204 track_msg.height = z_;
205 track_msg.distance = distance_;
206 track_msg.age = age_;
207 track_msg.color.a = 1.0;
208 track_msg.color.r = color_(2);
209 track_msg.color.g = color_(1);
210 track_msg.color.b = color_(0);
211
212 track_msg.confidence = - data_association_score_; // minus for transforming distance into a sort of confidence
213 track_msg.visibility = visibility_;
214
215 Eigen::Vector3d top(_x, _y, z_ + (height_/2));
216 Eigen::Vector3d bottom(_x, _y, z_ - (height_/2));
217 top = detection_source_->transformToCam(top);
218 bottom = detection_source_->transformToCam(bottom);
219 if (not vertical)
220 {
221 track_msg.box_2D.height = int(std::abs((top - bottom)(1)));
222 track_msg.box_2D.width = track_msg.box_2D.height / 2;
223 track_msg.box_2D.x = int(top(0)) - track_msg.box_2D.height / 4;
224 track_msg.box_2D.y = int(top(1));
225 }
226 else
227 {
228 track_msg.box_2D.width = int(std::abs((top - bottom)(0)));
229 track_msg.box_2D.height = track_msg.box_2D.width / 2;
230 track_msg.box_2D.x = int(top(0)) - track_msg.box_2D.width;
231 track_msg.box_2D.y = int(top(1)) - track_msg.box_2D.width / 4;
232 }
233 track_msg.joints.resize(joint_tracks_.size());
234 // SkeletonTrack::bodyPoseMsgToTrackerMsg(track_msg);
235 for(size_t i = 0; i < SkeletonJoints::SIZE; ++i)
236 {
237 Track3D* t = joint_tracks_[i];
238 double jx, jy, jz;
239 t -> getState(jx, jy, jz);
240 opt_msgs::Track3D m;
241 m.confidence = 1.0;
242 m.x = jx;
243 m.y = jy;
244 m.z = jz;
245 m.id = i;
246 track_msg.joints[i] = m;
247 }
248}
249
250//void

Callers

nothing calls this directly

Calls 4

transformToCamMethod · 0.80
getStateMethod · 0.45
resizeMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected