Skip to content
Snippets Groups Projects

Resolve "Subscriber&processor for landmark external detections"

6 files
+ 300
17
Compare changes
  • Side-by-side
  • Inline
Files
6
@@ -28,9 +28,10 @@ namespace wolf {
struct LandmarkDetection
{
int id; // id of landmark
Eigen::VectorXd measure; // either pose or position
Eigen::MatrixXd covariance; // covariance of the measure
int id; // id of landmark
double quality; // [0, 1] quality of the detection
};
WOLF_PTR_TYPEDEFS(CaptureLandmarksExternal);
@@ -39,21 +40,22 @@ WOLF_PTR_TYPEDEFS(CaptureLandmarksExternal);
class CaptureLandmarksExternal : public CaptureBase
{
protected:
std::list<LandmarkDetection> detections_;
std::vector<LandmarkDetection> detections_;
public:
CaptureLandmarksExternal(const TimeStamp& _ts,
SensorBasePtr _sensor_ptr,
const std::vector<Eigen::VectorXd>& _detections,
const std::vector<Eigen::MatrixXd>& _covs,
const std::vector<int>& _ids);
const std::vector<int>& _ids = {},
const std::vector<Eigen::VectorXd>& _detections = {},
const std::vector<Eigen::MatrixXd>& _covs = {},
const std::vector<double>& _qualities = {});
~CaptureLandmarksExternal() override;
std::list<LandmarkDetection> getDetections() const {return detections_;};
std::vector<LandmarkDetection> getDetections() const {return detections_;};
void addDetection(const Eigen::VectorXd& _detection, const Eigen::MatrixXd& _cov, const int& _id);
void addDetection(const int& _id, const Eigen::VectorXd& _detection, const Eigen::MatrixXd& _cov, const double& quality);
};
} //namespace wolf
\ No newline at end of file
Loading