point_drawing_plugin.cpp
Go to the documentation of this file.
1 // *****************************************************************************
2 //
3 // Copyright (c) 2014, Southwest Research Institute® (SwRI®)
4 // All rights reserved.
5 //
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are met:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of Southwest Research Institute® (SwRI®) nor the
14 // names of its contributors may be used to endorse or promote products
15 // derived from this software without specific prior written permission.
16 //
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 // ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
21 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 //
28 // *****************************************************************************
29 
31 
32 #include <vector>
33 #include <list>
34 
35 #include <QDialog>
36 #include <QGLWidget>
37 #include <QPalette>
38 #include <QPainter>
39 
40 #include <opencv2/core/core.hpp>
41 
44 
45 namespace mapviz_plugins
46 {
48  : arrow_size_(25),
49  draw_style_(LINES),
50  position_tolerance_(0.0),
51  buffer_size_(0),
52  covariance_checked_(false),
53  show_all_covariances_checked_(false),
54  new_lap_(true),
55  lap_checked_(false),
56  buffer_holder_(false),
57  scale_(1.0),
58  static_arrow_sizes_(false),
59  use_latest_transforms_(false),
60  single_frame_(true),
61  got_begin_(false)
62  {
63  QObject::connect(this,
64  SIGNAL(TargetFrameChanged(const std::string&)),
65  this,
66  SLOT(ResetTransformedPoints()));
67  QObject::connect(this,
68  SIGNAL(TargetFrameChanged(const std::string&)),
69  this,
70  SLOT(ResetTransformedPoints()));
71  }
72 
74  {
75  ROS_INFO("PointDrawingPlugin::ClearHistory()");
76  points_.clear();
77  }
78 
80  {
81  if (icon_)
82  {
83  QPixmap icon(16, 16);
84  icon.fill(Qt::transparent);
85 
86  QPainter painter(&icon);
87  painter.setRenderHint(QPainter::Antialiasing, true);
88 
89  QPen pen(color_);
90 
91  if (draw_style_ == POINTS)
92  {
93  pen.setWidth(7);
94  pen.setCapStyle(Qt::RoundCap);
95  painter.setPen(pen);
96  painter.drawPoint(8, 8);
97  }
98  else if (draw_style_ == LINES)
99  {
100  pen.setWidth(3);
101  pen.setCapStyle(Qt::FlatCap);
102  painter.setPen(pen);
103  painter.drawLine(1, 14, 14, 1);
104  }
105  else if (draw_style_ == ARROWS)
106  {
107  pen.setWidth(2);
108  pen.setCapStyle(Qt::SquareCap);
109  painter.setPen(pen);
110  painter.drawLine(2, 13, 13, 2);
111  painter.drawLine(13, 2, 13, 8);
112  painter.drawLine(13, 2, 7, 2);
113  }
114 
115  icon_->SetPixmap(icon);
116  }
117  }
118 
120  {
121  arrow_size_ = arrowSize;
123  }
124 
126  {
127  if (style == "lines")
128  {
129  draw_style_ = LINES;
130  }
131  else if (style == "points")
132  {
134  }
135  else if (style == "arrows")
136  {
138  }
140  DrawIcon();
141  }
142 
144  {
145  draw_style_ = style;
146  DrawIcon();
147  }
148 
150  {
151  static_arrow_sizes_ = isChecked;
153  }
154 
156  {
157  position_tolerance_ = value;
158  }
159 
161  {
162  lap_checked_ = checked;
163  }
164 
166  {
167  covariance_checked_ = checked;
168  }
169 
171  {
173  }
174 
176  {
177  use_latest_transforms_ = checked;
179  }
180 
182  {
183  for (auto& lap: laps_)
184  {
185  for (auto& point: lap)
186  {
187  point.transformed = false;
188  }
189  }
190  for (auto& point: points_)
191  {
192  point.transformed = false;
193  }
194  cur_point_.transformed = false;
195  Transform();
196  }
197 
199  {
200  cur_point_ = stamped_point;
201 
202  if (points_.empty() ||
203  (stamped_point.point.distance(points_.back().point)) >=
205  {
206  points_.push_back(stamped_point);
207  }
208 
209  if (buffer_size_ > 0)
210  {
211  while (static_cast<int>(points_.size()) >= buffer_size_)
212  {
213  points_.pop_front();
214  }
215  }
216  }
217 
219  {
220  points_.clear();
221  }
222 
224  {
225  if (!lap_checked_)
226  {
227  return buffer_size_;
228  }
229  else
230  {
231  return buffer_holder_;
232  }
233  }
234 
236  {
237  return position_tolerance_;
238  }
239 
240  const std::deque<PointDrawingPlugin::StampedPoint> &PointDrawingPlugin::points() const
241  {
242  return points_;
243  }
244 
246  {
247  buffer_size_ = value;
248 
249  if (buffer_size_ > 0)
250  {
251  while (static_cast<int>(points_.size()) >= buffer_size_)
252  {
253  points_.pop_front();
254  }
255  }
256  }
257 
259  {
261  {
263  }
264  scale_ = scale;
265  bool transformed = true;
266  if (lap_checked_)
267  {
268  CollectLaps();
269 
270  if (draw_style_ == ARROWS)
271  {
272  transformed &= DrawLapsArrows();
273  }
274  else
275  {
276  transformed &= DrawLaps();
277  }
278  }
279  else if (buffer_size_ == INT_MAX)
280  {
282  laps_.clear();
283  got_begin_ = false;
284  }
285  if (draw_style_ == ARROWS)
286  {
287  transformed &= DrawArrows();
288  }
289  else
290  {
291  transformed &= DrawLines();
292  }
293 
294  return transformed;
295  }
296 
298  {
299  if (!got_begin_)
300  {
302  points_.clear();
304  buffer_size_ = INT_MAX;
305  got_begin_ = true;
306  }
308  if (((std::fabs(check.x()) <= 3) && (std::fabs(check.y()) <= 3)) &&
309  !new_lap_)
310  {
311  new_lap_ = true;
312  if (points_.size() > 0)
313  {
314  laps_.push_back(points_);
315  laps_[0].pop_back();
316  points_.clear();
317  points_.push_back(cur_point_);
318  }
319  }
320 
321  if (((std::fabs(check.x()) > 25) && (std::fabs(check.y()) > 25)) &&
322  new_lap_)
323  {
324  new_lap_ = false;
325  }
326  }
327 
329  {
330  bool success = cur_point_.transformed;
331  glColor4d(color_.redF(), color_.greenF(), color_.blueF(), 1.0);
332  if (draw_style_ == LINES && points_.size()>0)
333  {
334  glLineWidth(3);
335  glBegin(GL_LINE_STRIP);
336  }
337  else
338  {
339  glPointSize(6);
340  glBegin(GL_POINTS);
341  }
342 
343  for (const auto& pt : points_)
344  {
345  success &= pt.transformed;
346  if (pt.transformed)
347  {
348  glVertex2d(pt.transformed_point.getX(), pt.transformed_point.getY());
349  }
350  }
351 
353  {
354  glVertex2d(cur_point_.transformed_point.getX(),
356  }
357 
358  glEnd();
359 
360  return success;
361  }
362 
364  {
365  if (it.transformed)
366  {
367  glVertex2d(it.transformed_point.getX(),
368  it.transformed_point.getY());
369 
370  glVertex2d(it.transformed_arrow_point.getX(),
371  it.transformed_arrow_point.getY());
372 
373  glVertex2d(it.transformed_arrow_point.getX(),
374  it.transformed_arrow_point.getY());
375  glVertex2d(it.transformed_arrow_left.getX(),
376  it.transformed_arrow_left.getY());
377 
378  glVertex2d(it.transformed_arrow_point.getX(),
379  it.transformed_arrow_point.getY());
380  glVertex2d(it.transformed_arrow_right.getX(),
381  it.transformed_arrow_right.getY());
382  return true;
383  }
384  return false;
385  }
386 
388  {
389  bool success = true;
390  glLineWidth(4);
391  glBegin(GL_LINES);
392  glColor4d(color_.redF(), color_.greenF(), color_.blueF(), 0.5);
393  for (const auto &pt : points_)
394  {
395  success &= DrawArrow(pt);
396  }
397 
398  success &= DrawArrow(cur_point_);
399 
400  glEnd();
401 
402  return success;
403  }
404 
405  void PointDrawingPlugin::SetColor(const QColor& color)
406  {
407  if (color != color_)
408  {
409  color_ = color;
410  DrawIcon();
411  }
412  }
413 
415  {
416  if ( point.transformed )
417  {
418  return true;
419  }
420 
421  ros::Time stamp;
423  {
424  stamp = point.stamp;
425  }
426 
428  if (GetTransform(point.source_frame, stamp, transform))
429  {
430  TransformPoint(point, transform);
431  point.transformed = true;
432  return true;
433  }
434  point.transformed = false;
435  return false;
436  }
437 
439  {
440  point.transformed_point = transform * point.point;
441 
442  if (draw_style_ == ARROWS)
443  {
444  tf::Transform orientation(tf::Transform(transform.GetOrientation()) *
445  point.orientation);
446 
447  double size = static_cast<double>(arrow_size_);
449  {
450  size *= scale_;
451  }
452  else
453  {
454  size /= 10.0;
455  }
456  double arrow_width = size / 5.0;
457  double head_length = size * 0.75;
458 
459  // If quaternion malformed, just draw point instead
460  const tf::Quaternion q(point.orientation);
461  if(std::fabs(q.x()*q.x() + q.y()*q.y() + q.z()*q.z() + q.w()*q.w() - 1) > 0.01)
462  {
463  orientation = tf::Transform(tf::Transform(transform.GetOrientation()));
464  arrow_width = 0.0;
465  head_length = 0.0;
466  size = 0;
467  }
468 
470  point.transformed_point + orientation * tf::Point(size, 0.0, 0.0);
471  point.transformed_arrow_left =
472  point.transformed_point + orientation * tf::Point(head_length, -arrow_width, 0.0);
474  point.transformed_point + orientation * tf::Point(head_length, arrow_width, 0.0);
475  }
476 
478  {
479  for (uint32_t i = 0; i < point.cov_points.size(); i++)
480  {
481  point.transformed_cov_points[i] = transform * point.cov_points[i];
482  }
483  }
484  point.transformed = true;
485  }
486 
488  {
489  if (points_.empty())
490  {
491  return;
492  }
493 
495  {
497  if (GetTransform(points_.front().source_frame, ros::Time(), transform))
498  {
499  for (auto &pt : points_)
500  {
502  }
504  for (auto &lap : laps_)
505  {
506  for (auto &pt : lap)
507  {
509  }
510  }
511  }
512  else
513  {
514  for (auto &pt : points_)
515  {
516  pt.transformed = false;
517  }
518  cur_point_.transformed = false;
519  for (auto &lap : laps_)
520  {
521  for (auto &pt : lap)
522  {
523  pt.transformed = false;
524  }
525  }
526  PrintError("No transform between " + points_.front().source_frame + " and " +
527  target_frame_);
528  }
529  }
530  else
531  {
532  bool transformed = false;
533 
534  for (auto &pt : points_)
535  {
536  transformed = transformed | TransformPoint(pt);
537  }
538 
539  transformed = transformed | TransformPoint(cur_point_);
540  if (laps_.size() > 0)
541  {
542  for (auto &lap : laps_)
543  {
544  for (auto &pt : lap)
545  {
546  transformed = transformed | TransformPoint(pt);
547  }
548  }
549  }
550  if (!transformed)
551  {
552  PrintError("No transform between " + cur_point_.source_frame + " and " +
553  target_frame_);
554  }
555  }
556  }
557 
559  {
560  bool transformed = points_.size() != 0;
561  glColor4d(color_.redF(), color_.greenF(), color_.blueF(), 0.5);
562  glLineWidth(3);
563  QColor base_color = color_;
564 
565  for (size_t i = 0; i < laps_.size(); i++)
566  {
567  UpdateColor(base_color, static_cast<int>(i));
568  if (draw_style_ == LINES)
569  {
570  glLineWidth(3);
571  glBegin(GL_LINE_STRIP);
572  }
573  else
574  {
575  glPointSize(6);
576  glBegin(GL_POINTS);
577  }
578 
579  for (const auto& pt : laps_[i])
580  {
581  if (pt.transformed)
582  {
583  glVertex2d(pt.transformed_point.getX(),
584  pt.transformed_point.getY());
585  }
586  }
587  glEnd();
588  }
589 
590  if (draw_style_ == LINES)
591  {
592  glLineWidth(3);
593  glBegin(GL_LINE_STRIP);
594  }
595  else
596  {
597  glPointSize(6);
598  glBegin(GL_POINTS);
599  }
600 
601  glColor4d(base_color.redF(), base_color.greenF(), base_color.blueF(), 0.5);
602 
603  if (points_.size() > 0)
604  {
605  for (const auto &pt : points_)
606  {
607  transformed &= pt.transformed;
608  if (pt.transformed)
609  {
610  glVertex2d(pt.transformed_point.getX(),
611  pt.transformed_point.getY());
612  }
613  }
614  }
615 
616  glEnd();
617  return transformed;
618  }
619 
620  void PointDrawingPlugin::UpdateColor(QColor base_color, int i)
621  {
622  int hue = static_cast<int>(color_.hue() + (i + 1.0) * 10.0 * M_PI);
623  if (hue > 360)
624  {
625  hue %= 360;
626  }
627  int sat = color_.saturation();
628  int v = color_.value();
629  base_color.setHsv(hue, sat, v);
630  glColor4d(base_color.redF(), base_color.greenF(), base_color.blueF(),
631  0.5);
632  }
633 
635  {
636  glLineWidth(4);
637 
638  glColor4d(color_.redF(), color_.greenF(), color_.blueF(), 1.0);
639 
641  {
642  for (const auto &pt : points_)
643  {
644  if (!pt.transformed || pt.transformed_cov_points.empty())
645  {
646  continue;
647  }
648  glBegin(GL_LINE_STRIP);
649 
650  for (uint32_t i = 0; i < pt.transformed_cov_points.size(); i++)
651  {
652  glVertex2d(pt.transformed_cov_points[i].getX(),
653  pt.transformed_cov_points[i].getY());
654  }
655 
656  glVertex2d(pt.transformed_cov_points.front().getX(),
657  pt.transformed_cov_points.front().getY());
658 
659  glEnd();
660  }
661  }
663  {
664  glBegin(GL_LINE_STRIP);
665 
666  for (uint32_t i = 0; i < cur_point_.transformed_cov_points.size(); i++)
667  {
668  glVertex2d(cur_point_.transformed_cov_points[i].getX(),
670  }
671 
672  glVertex2d(cur_point_.transformed_cov_points.front().getX(),
673  cur_point_.transformed_cov_points.front().getY());
674 
675  glEnd();
676  }
677  }
678 
680  {
681  bool success = laps_.size() != 0 && points_.size() != 0;
682  glColor4d(color_.redF(), color_.greenF(), color_.blueF(), 0.5);
683  glLineWidth(2);
684  QColor base_color = color_;
685  if (laps_.size() != 0)
686  {
687  for (size_t i = 0; i < laps_.size(); i++)
688  {
689  UpdateColor(base_color, static_cast<int>(i));
690  for (const auto &pt : laps_[i])
691  {
692  glBegin(GL_LINE_STRIP);
693  success &= DrawArrow(pt);
694  glEnd();
695  }
696  }
697  glEnd();
698 
699  int hue = static_cast<int>(color_.hue() + laps_.size() * 10.0 * M_PI);
700  int sat = color_.saturation();
701  int v = color_.value();
702  base_color.setHsv(hue, sat, v);
703  glColor4d(base_color.redF(), base_color.greenF(), base_color.blueF(),
704  0.5);
705  }
706 
707  if (points_.size() > 0)
708  {
709  for (const auto& pt : points_)
710  {
711  glBegin(GL_LINE_STRIP);
712  success &= DrawArrow(pt);
713  glEnd();
714  }
715  }
716 
717  return success;
718  }
719 }
mapviz_plugins::PointDrawingPlugin::CovariancedToggled
virtual void CovariancedToggled(bool checked)
Definition: point_drawing_plugin.cpp:165
check
ROSCPP_DECL bool check()
mapviz_plugins::PointDrawingPlugin::points_
std::deque< StampedPoint > points_
Definition: point_drawing_plugin.h:130
mapviz_plugins::PointDrawingPlugin::StampedPoint
Definition: point_drawing_plugin.h:56
mapviz_plugins::PointDrawingPlugin::LapToggled
virtual void LapToggled(bool checked)
Definition: point_drawing_plugin.cpp:160
mapviz_plugins::PointDrawingPlugin::got_begin_
bool got_begin_
Definition: point_drawing_plugin.h:145
point_drawing_plugin.h
mapviz_plugins::PointDrawingPlugin::DrawArrow
virtual bool DrawArrow(const StampedPoint &point)
Definition: point_drawing_plugin.cpp:363
mapviz_plugins::PointDrawingPlugin::DrawPoints
virtual bool DrawPoints(double scale)
Definition: point_drawing_plugin.cpp:258
mapviz_plugins::PointDrawingPlugin::use_latest_transforms_
bool use_latest_transforms_
Definition: point_drawing_plugin.h:141
mapviz_plugins::PointDrawingPlugin::CollectLaps
virtual void CollectLaps()
Definition: point_drawing_plugin.cpp:297
mapviz_plugins::PointDrawingPlugin::ClearPoints
void ClearPoints()
Definition: point_drawing_plugin.cpp:218
mapviz_plugins::PointDrawingPlugin::laps_
std::vector< std::deque< StampedPoint > > laps_
Definition: point_drawing_plugin.h:144
mapviz_plugins::PointDrawingPlugin::covariance_checked_
bool covariance_checked_
Definition: point_drawing_plugin.h:133
mapviz_plugins::PointDrawingPlugin::buffer_size_
int buffer_size_
Definition: point_drawing_plugin.h:132
mapviz_plugins::PointDrawingPlugin::BufferSizeChanged
virtual void BufferSizeChanged(int value)
Definition: point_drawing_plugin.cpp:245
mapviz_plugins::PointDrawingPlugin::StampedPoint::transformed_arrow_point
tf::Point transformed_arrow_point
Definition: point_drawing_plugin.h:63
mapviz_plugins::PointDrawingPlugin::begin_
tf::Point begin_
Definition: point_drawing_plugin.h:146
mapviz_plugins::PointDrawingPlugin::TransformPoint
virtual bool TransformPoint(StampedPoint &point)
Definition: point_drawing_plugin.cpp:414
mapviz_plugins::PointDrawingPlugin::ClearHistory
void ClearHistory()
Definition: point_drawing_plugin.cpp:73
mapviz_plugins::PointDrawingPlugin::SetColor
virtual void SetColor(const QColor &color)
Definition: point_drawing_plugin.cpp:405
geometry_util.h
mapviz_plugins::PointDrawingPlugin::SetStaticArrowSizes
virtual void SetStaticArrowSizes(bool isChecked)
Definition: point_drawing_plugin.cpp:149
mapviz_plugins::PointDrawingPlugin::SetUseLatestTransforms
virtual void SetUseLatestTransforms(bool checked)
Definition: point_drawing_plugin.cpp:175
mapviz_plugins::PointDrawingPlugin::pushPoint
void pushPoint(StampedPoint point)
Definition: point_drawing_plugin.cpp:198
mapviz_plugins::PointDrawingPlugin::Transform
virtual void Transform()
Definition: point_drawing_plugin.cpp:487
mapviz_plugins::PointDrawingPlugin::StampedPoint::source_frame
std::string source_frame
Definition: point_drawing_plugin.h:66
mapviz_plugins::PointDrawingPlugin::static_arrow_sizes_
bool static_arrow_sizes_
Definition: point_drawing_plugin.h:140
mapviz_plugins::PointDrawingPlugin::positionTolerance
double positionTolerance() const
Definition: point_drawing_plugin.cpp:235
mapviz::MapvizPlugin::PrintError
virtual void PrintError(const std::string &message)=0
mapviz_plugins::PointDrawingPlugin::DrawLines
virtual bool DrawLines()
Definition: point_drawing_plugin.cpp:328
mapviz_plugins::PointDrawingPlugin::ResetTransformedPoints
void ResetTransformedPoints()
Definition: point_drawing_plugin.cpp:181
mapviz_plugins::PointDrawingPlugin::LINES
@ LINES
Definition: point_drawing_plugin.h:76
transform
void transform(marti_nav_msgs::Path &path, const swri_transform_util::Transform &transform, const std::string &target_frame)
tf::Point
tf::Vector3 Point
transform_util.h
mapviz_plugins::PointDrawingPlugin::show_all_covariances_checked_
bool show_all_covariances_checked_
Definition: point_drawing_plugin.h:134
mapviz_plugins::PointDrawingPlugin::scale_
double scale_
Definition: point_drawing_plugin.h:139
mapviz_plugins::PointDrawingPlugin::lap_checked_
bool lap_checked_
Definition: point_drawing_plugin.h:137
mapviz_plugins::PointDrawingPlugin::DrawCovariance
virtual void DrawCovariance()
Definition: point_drawing_plugin.cpp:634
mapviz_plugins::PointDrawingPlugin::position_tolerance_
double position_tolerance_
Definition: point_drawing_plugin.h:131
mapviz_plugins::PointDrawingPlugin::PositionToleranceChanged
virtual void PositionToleranceChanged(double value)
Definition: point_drawing_plugin.cpp:155
mapviz_plugins::PointDrawingPlugin::color_
QColor color_
Definition: point_drawing_plugin.h:136
swri_transform_util::Transform
mapviz_plugins::PointDrawingPlugin::bufferSize
double bufferSize() const
Definition: point_drawing_plugin.cpp:223
mapviz_plugins::PointDrawingPlugin::PointDrawingPlugin
PointDrawingPlugin()
Definition: point_drawing_plugin.cpp:47
mapviz_plugins::PointDrawingPlugin::DrawLapsArrows
virtual bool DrawLapsArrows()
Definition: point_drawing_plugin.cpp:679
mapviz_plugins::PointDrawingPlugin::arrow_size_
int arrow_size_
Definition: point_drawing_plugin.h:127
tf::Transform
mapviz_plugins::PointDrawingPlugin::buffer_holder_
int buffer_holder_
Definition: point_drawing_plugin.h:138
mapviz_plugins::PointDrawingPlugin::new_lap_
bool new_lap_
Definition: point_drawing_plugin.h:135
mapviz_plugins::PointDrawingPlugin::POINTS
@ POINTS
Definition: point_drawing_plugin.h:77
mapviz_plugins::PointDrawingPlugin::StampedPoint::transformed_point
tf::Point transformed_point
Definition: point_drawing_plugin.h:62
mapviz_plugins::PointDrawingPlugin::DrawLaps
virtual bool DrawLaps()
Definition: point_drawing_plugin.cpp:558
mapviz_plugins::PointDrawingPlugin::StampedPoint::orientation
tf::Quaternion orientation
Definition: point_drawing_plugin.h:61
mapviz_plugins::PointDrawingPlugin::ShowAllCovariancesToggled
virtual void ShowAllCovariancesToggled(bool checked)
Definition: point_drawing_plugin.cpp:170
mapviz_plugins::PointDrawingPlugin::StampedPoint::transformed_cov_points
std::vector< tf::Point > transformed_cov_points
Definition: point_drawing_plugin.h:71
ros::Time
mapviz_plugins::PointDrawingPlugin::StampedPoint::transformed_arrow_right
tf::Point transformed_arrow_right
Definition: point_drawing_plugin.h:65
mapviz_plugins::PointDrawingPlugin::ARROWS
@ ARROWS
Definition: point_drawing_plugin.h:78
mapviz_plugins::PointDrawingPlugin::DrawArrows
virtual bool DrawArrows()
Definition: point_drawing_plugin.cpp:387
mapviz_plugins::PointDrawingPlugin::SetArrowSize
virtual void SetArrowSize(int arrowSize)
Definition: point_drawing_plugin.cpp:119
mapviz::MapvizPlugin::target_frame_
std::string target_frame_
mapviz_plugins::PointDrawingPlugin::SetDrawStyle
virtual void SetDrawStyle(QString style)
Definition: point_drawing_plugin.cpp:125
mapviz::MapvizPlugin::TargetFrameChanged
void TargetFrameChanged(const std::string &target_frame)
mapviz_plugins::PointDrawingPlugin::StampedPoint::transformed
bool transformed
Definition: point_drawing_plugin.h:67
mapviz_plugins::PointDrawingPlugin::StampedPoint::stamp
ros::Time stamp
Definition: point_drawing_plugin.h:68
mapviz_plugins::PointDrawingPlugin::StampedPoint::cov_points
std::vector< tf::Point > cov_points
Definition: point_drawing_plugin.h:70
mapviz_plugins::PointDrawingPlugin::StampedPoint::transformed_arrow_left
tf::Point transformed_arrow_left
Definition: point_drawing_plugin.h:64
mapviz_plugins::PointDrawingPlugin::single_frame_
bool single_frame_
Definition: point_drawing_plugin.h:123
ROS_INFO
#define ROS_INFO(...)
mapviz_plugins::PointDrawingPlugin::cur_point_
StampedPoint cur_point_
Definition: point_drawing_plugin.h:129
mapviz_plugins::PointDrawingPlugin::draw_style_
DrawStyle draw_style_
Definition: point_drawing_plugin.h:128
mapviz::IconWidget::SetPixmap
void SetPixmap(QPixmap pixmap)
mapviz_plugins::PointDrawingPlugin::StampedPoint::point
tf::Point point
Definition: point_drawing_plugin.h:60
mapviz::MapvizPlugin::icon_
IconWidget * icon_
mapviz_plugins
Definition: attitude_indicator_plugin.h:61
mapviz_plugins::PointDrawingPlugin::DrawStyle
DrawStyle
Definition: point_drawing_plugin.h:74
tf::Quaternion
mapviz_plugins::PointDrawingPlugin::DrawIcon
virtual void DrawIcon()
Definition: point_drawing_plugin.cpp:79
mapviz::MapvizPlugin::GetTransform
bool GetTransform(const ros::Time &stamp, swri_transform_util::Transform &transform)
mapviz_plugins::PointDrawingPlugin::UpdateColor
virtual void UpdateColor(QColor base_color, int i)
Definition: point_drawing_plugin.cpp:620
mapviz_plugins::PointDrawingPlugin::points
const std::deque< StampedPoint > & points() const
Definition: point_drawing_plugin.cpp:240


mapviz_plugins
Author(s): Marc Alban
autogenerated on Sun Sep 8 2024 02:27:14