measurement_marker.h
Go to the documentation of this file.
1 #ifndef MEASUREMENT_MARKER_H
2 #define MEASUREMENT_MARKER_H
3 
4 #include <vector>
5 #include <tuw_geometry/pose2d.h>
6 #include <tuw_geometry/measurement.h>
7 
8 namespace tuw {
9 
10 class MeasurementMarker;
11 using MeasurementMarkerPtr = std::shared_ptr< MeasurementMarker >;
12 using MeasurementMarkerConstPtr = std::shared_ptr< MeasurementMarker const >;
13 
17 class MeasurementMarker : public Measurement{
18 public:
22  struct Marker {
23  std::vector<int> ids;
24  std::vector<double> ids_confidence;
25 
26  double length;
27  double angle;
28  double orientation;
29  Pose2D pose;
30  };
45  void resize ( size_t n );
49  void clear();
54  double &angle_min();
59  const double &angle_min() const;
64  double &angle_max();
69  const double &angle_max() const;
74  double &range_min();
79  const double &range_min() const;
84  double &range_max();
89  const double &range_max() const;
94  double &range_max_id();
99  const double &range_max_id() const;
103  bool empty() const;
107  size_t size() const;
112  Marker& operator[] ( int i );
117  const Marker& operator[] ( int i ) const;
121  void push_back ( const MeasurementMarker::Marker m );
122 private:
123  double angle_min_;
124  double angle_max_;
125 
126  double range_max_;
127  double range_min_;
129 
130  std::vector<Marker> markers_;
131 };
132 };
133 
134 #endif
std::vector< double > ids_confidence
Definition: ekf_slam.h:8
std::shared_ptr< MeasurementMarker const > MeasurementMarkerConstPtr
void push_back(const MeasurementMarker::Marker m)
std::shared_ptr< MeasurementMarker > MeasurementMarkerPtr
Prototype.
std::vector< Marker > markers_


tuw_marker_slam
Author(s): Markus Macsek
autogenerated on Mon Jun 10 2019 15:39:09