From 72bff25a42f13a24649fcc3cb6d42342871a9dd5 Mon Sep 17 00:00:00 2001 From: jvallve <jvallve@iri.upc.edu> Date: Thu, 12 May 2022 13:30:28 +0200 Subject: [PATCH] adapted to new const-nonconst api --- include/publisher_gnss_accuracy.h | 4 ++-- include/publisher_gnss_fix.h | 6 +++--- include/publisher_gnss_tf.h | 6 +++--- include/publisher_tracker_gnss_info.h | 4 ++-- src/publisher_gnss_accuracy.cpp | 6 +++--- src/publisher_gnss_fix.cpp | 4 ++-- src/publisher_gnss_tf.cpp | 4 ++-- src/publisher_tracker_gnss_info.cpp | 17 +++-------------- 8 files changed, 20 insertions(+), 31 deletions(-) diff --git a/include/publisher_gnss_accuracy.h b/include/publisher_gnss_accuracy.h index 57ca6cf..c494fc4 100644 --- a/include/publisher_gnss_accuracy.h +++ b/include/publisher_gnss_accuracy.h @@ -42,13 +42,13 @@ class PublisherGnssAccuracy: public Publisher { visualization_msgs::Marker PL_marker_msg_; std_msgs::ColorRGBA marker_color_; - SensorBasePtr sensor_; + SensorBaseConstPtr sensor_; double k_H_, k_V_; public: PublisherGnssAccuracy(const std::string& _unique_name, const ParamsServer& _server, - const ProblemPtr _problem); + ProblemConstPtr _problem); WOLF_PUBLISHER_CREATE(PublisherGnssAccuracy); virtual ~PublisherGnssAccuracy(){}; diff --git a/include/publisher_gnss_fix.h b/include/publisher_gnss_fix.h index a4f0caf..4f2daad 100644 --- a/include/publisher_gnss_fix.h +++ b/include/publisher_gnss_fix.h @@ -45,15 +45,15 @@ class PublishGnssFix: public Publisher geometry_msgs::PoseArray pose_array_msg_; geometry_msgs::PoseStamped pose_msg_; visualization_msgs::Marker marker_msg_; - SensorBasePtr sensor_; + SensorBaseConstPtr sensor_; std::string frame_id_, map_frame_id_; ros::Publisher pub_pose_array_, pub_marker_, pub_pose_; public: PublishGnssFix(const std::string& _unique_name, - const ParamsServer& _server, - const ProblemPtr _problem); + const ParamsServer& _server, + ProblemConstPtr _problem); WOLF_PUBLISHER_CREATE(PublishGnssFix); virtual ~PublishGnssFix(){}; diff --git a/include/publisher_gnss_tf.h b/include/publisher_gnss_tf.h index 6779049..6d49cbe 100644 --- a/include/publisher_gnss_tf.h +++ b/include/publisher_gnss_tf.h @@ -40,12 +40,12 @@ class PublisherGnssTf: public Publisher std::string map_frame_id_, enu_frame_id_, ecef_frame_id_; tf::StampedTransform T_enu_map_, T_ecef_enu_; tf::TransformBroadcaster tfb_; - SensorGnssPtr sensor_gnss_; + SensorGnssConstPtr sensor_gnss_; public: PublisherGnssTf(const std::string& _unique_name, - const ParamsServer& _server, - const ProblemPtr _problem); + const ParamsServer& _server, + ProblemConstPtr _problem); WOLF_PUBLISHER_CREATE(PublisherGnssTf); virtual ~PublisherGnssTf(){}; diff --git a/include/publisher_tracker_gnss_info.h b/include/publisher_tracker_gnss_info.h index ce05728..19ccd90 100644 --- a/include/publisher_tracker_gnss_info.h +++ b/include/publisher_tracker_gnss_info.h @@ -42,13 +42,13 @@ class PublisherTrackerGnssInfo: public Publisher { protected: - ProcessorTrackerGnssPtr processor_tracker_gnss_; + ProcessorTrackerGnssConstPtr processor_tracker_gnss_; ros::Publisher publisher_untracked_; public: PublisherTrackerGnssInfo(const std::string& _unique_name, const ParamsServer& _server, - const ProblemPtr _problem); + ProblemConstPtr _problem); WOLF_PUBLISHER_CREATE(PublisherTrackerGnssInfo); virtual ~PublisherTrackerGnssInfo(){}; diff --git a/src/publisher_gnss_accuracy.cpp b/src/publisher_gnss_accuracy.cpp index da18a60..f571410 100644 --- a/src/publisher_gnss_accuracy.cpp +++ b/src/publisher_gnss_accuracy.cpp @@ -31,9 +31,9 @@ namespace wolf { PublisherGnssAccuracy::PublisherGnssAccuracy(const std::string& _unique_name, - const ParamsServer& _server, - const ProblemPtr _problem) : - Publisher(_unique_name, _server, _problem) + const ParamsServer& _server, + ProblemConstPtr _problem) : + Publisher(_unique_name, _server, _problem) { Eigen::Vector4d col = _server.getParam<Eigen::Vector4d>(prefix_ + "/marker_color"); marker_color_.r = col(0); diff --git a/src/publisher_gnss_fix.cpp b/src/publisher_gnss_fix.cpp index 814e870..5b4750c 100644 --- a/src/publisher_gnss_fix.cpp +++ b/src/publisher_gnss_fix.cpp @@ -28,8 +28,8 @@ namespace wolf { PublishGnssFix::PublishGnssFix(const std::string& _unique_name, - const ParamsServer& _server, - const ProblemPtr _problem) : + const ParamsServer& _server, + ProblemConstPtr _problem) : Publisher(_unique_name, _server, _problem) { sensor_ = _problem->findSensor(_server.getParam<std::string>(prefix_ + "/sensor")); diff --git a/src/publisher_gnss_tf.cpp b/src/publisher_gnss_tf.cpp index 9ec259e..da778fb 100644 --- a/src/publisher_gnss_tf.cpp +++ b/src/publisher_gnss_tf.cpp @@ -33,10 +33,10 @@ namespace wolf PublisherGnssTf::PublisherGnssTf(const std::string& _unique_name, const ParamsServer& _server, - const ProblemPtr _problem) : + ProblemConstPtr _problem) : Publisher(_unique_name, _server, _problem) { - sensor_gnss_ = std::static_pointer_cast<SensorGnss>(_problem->findSensor(_server.getParam<std::string>(prefix_ + "/sensor_gnss_name"))); + sensor_gnss_ = std::static_pointer_cast<const SensorGnss>(_problem->findSensor(_server.getParam<std::string>(prefix_ + "/sensor_gnss_name"))); T_enu_map_.setIdentity(); T_enu_map_.frame_id_ = "ENU"; diff --git a/src/publisher_tracker_gnss_info.cpp b/src/publisher_tracker_gnss_info.cpp index 1fc154f..4634a96 100644 --- a/src/publisher_tracker_gnss_info.cpp +++ b/src/publisher_tracker_gnss_info.cpp @@ -29,24 +29,13 @@ namespace wolf PublisherTrackerGnssInfo::PublisherTrackerGnssInfo(const std::string& _unique_name, const ParamsServer& _server, - const ProblemPtr _problem) : + ProblemConstPtr _problem) : Publisher(_unique_name, _server, _problem), processor_tracker_gnss_(nullptr) { auto proc_name = _server.getParam<std::string>(prefix_ + "/processor_gnss"); - for (auto sen : _problem->getHardware()->getSensorList()) - { - for (auto proc : sen->getProcessorList()) - if (proc_name == proc->getName()) - { - processor_tracker_gnss_ = std::dynamic_pointer_cast<ProcessorTrackerGnss>(proc); - if (not processor_tracker_gnss_) - throw std::runtime_error("PublisherTrackerGnssInfo: the processor with name " + proc_name + " is not of type ProcessorTrackerGnss."); - break; - } - if (processor_tracker_gnss_) - break; - } + processor_tracker_gnss_ = std::dynamic_pointer_cast<const ProcessorTrackerGnss>(problem_->findProcessor(proc_name)); + if (not processor_tracker_gnss_) throw std::runtime_error("PublisherTrackerGnssInfo: the processor with name " + proc_name + " was not found."); } -- GitLab