From 13d7b35e1e8eeec4c3fb02634a51e60390de5f8e Mon Sep 17 00:00:00 2001 From: Dirk Thomas Date: Tue, 14 Jul 2020 14:18:00 -0700 Subject: [PATCH 1/2] use auto in range loops to avoid copy due to different type Signed-off-by: Dirk Thomas --- src/robot_state_publisher.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/robot_state_publisher.cpp b/src/robot_state_publisher.cpp index c0e0ca8..4a05032 100644 --- a/src/robot_state_publisher.cpp +++ b/src/robot_state_publisher.cpp @@ -175,14 +175,14 @@ void RobotStatePublisher::setupURDF(const std::string & urdf_xml) // Initialize the mimic map mimic_.clear(); - for (const std::pair & i : model_->joints_) { + for (const auto & i : model_->joints_) { if (i.second->mimic) { mimic_.insert(std::make_pair(i.first, i.second->mimic)); } } KDL::SegmentMap segments_map = tree.getSegments(); - for (const std::pair & segment : segments_map) { + for (const auto & segment : segments_map) { RCLCPP_INFO(get_logger(), "got segment %s", segment.first.c_str()); } @@ -239,7 +239,7 @@ void RobotStatePublisher::publishTransforms( std::vector tf_transforms; // loop over all joints - for (const std::pair & jnt : joint_positions) { + for (const auto & jnt : joint_positions) { std::map::iterator seg = segments_.find(jnt.first); if (seg != segments_.end()) { geometry_msgs::msg::TransformStamped tf_transform = @@ -260,7 +260,7 @@ void RobotStatePublisher::publishFixedTransforms() std::vector tf_transforms; // loop over all fixed segments - for (const std::pair & seg : segments_fixed_) { + for (const auto & seg : segments_fixed_) { geometry_msgs::msg::TransformStamped tf_transform = kdlToTransform(seg.second.segment.pose(0)); rclcpp::Time now = this->now(); if (!use_tf_static_) { @@ -321,7 +321,7 @@ void RobotStatePublisher::callbackJointState(const sensor_msgs::msg::JointState: joint_positions.insert(std::make_pair(state->name[i], state->position[i])); } - for (const std::pair & i : mimic_) { + for (const auto & i : mimic_) { if (joint_positions.find(i.second->joint_name) != joint_positions.end()) { double pos = joint_positions[i.second->joint_name] * i.second->multiplier + i.second->offset; From 94b6f42a10094edb7827502230df314b98ae34c4 Mon Sep 17 00:00:00 2001 From: Dirk Thomas Date: Tue, 14 Jul 2020 15:39:08 -0700 Subject: [PATCH 2/2] avoid auto, use explicit correct type --- src/robot_state_publisher.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/robot_state_publisher.cpp b/src/robot_state_publisher.cpp index 4a05032..b29dcbe 100644 --- a/src/robot_state_publisher.cpp +++ b/src/robot_state_publisher.cpp @@ -175,14 +175,14 @@ void RobotStatePublisher::setupURDF(const std::string & urdf_xml) // Initialize the mimic map mimic_.clear(); - for (const auto & i : model_->joints_) { + for (const std::pair & i : model_->joints_) { if (i.second->mimic) { mimic_.insert(std::make_pair(i.first, i.second->mimic)); } } KDL::SegmentMap segments_map = tree.getSegments(); - for (const auto & segment : segments_map) { + for (const std::pair & segment : segments_map) { RCLCPP_INFO(get_logger(), "got segment %s", segment.first.c_str()); } @@ -239,7 +239,7 @@ void RobotStatePublisher::publishTransforms( std::vector tf_transforms; // loop over all joints - for (const auto & jnt : joint_positions) { + for (const std::pair & jnt : joint_positions) { std::map::iterator seg = segments_.find(jnt.first); if (seg != segments_.end()) { geometry_msgs::msg::TransformStamped tf_transform = @@ -260,7 +260,7 @@ void RobotStatePublisher::publishFixedTransforms() std::vector tf_transforms; // loop over all fixed segments - for (const auto & seg : segments_fixed_) { + for (const std::pair & seg : segments_fixed_) { geometry_msgs::msg::TransformStamped tf_transform = kdlToTransform(seg.second.segment.pose(0)); rclcpp::Time now = this->now(); if (!use_tf_static_) { @@ -321,7 +321,7 @@ void RobotStatePublisher::callbackJointState(const sensor_msgs::msg::JointState: joint_positions.insert(std::make_pair(state->name[i], state->position[i])); } - for (const auto & i : mimic_) { + for (const std::pair & i : mimic_) { if (joint_positions.find(i.second->joint_name) != joint_positions.end()) { double pos = joint_positions[i.second->joint_name] * i.second->multiplier + i.second->offset;