1 #include <ros/common.h>
4 #if !ROS_VERSION_MINIMUM(1, 15, 0)
5 #define protected public
7 #include <robot_state_publisher/robot_state_publisher.h>
8 #if !ROS_VERSION_MINIMUM(1, 15, 0)
18 if (!in.empty() && in[0] ==
'/')
30 auto old_segments_fixed = this->getFixedSegments();
32 this->getSegments().clear();
33 this->getFixedSegments().clear();
34 this->addChildren(tree.getRootSegment());
39 for (
const auto& seg : this->getFixedSegments())
41 old_segments_fixed.erase(seg.first);
43 for (
const auto& seg : this->getSegments())
45 old_segments_fixed.erase(seg.first);
48 std::vector<geometry_msgs::TransformStamped> deleteTfs;
49 for (
const auto& seg : old_segments_fixed)
51 geometry_msgs::TransformStamped
tf;
55 tf.transform.rotation.w = 1.0;
56 deleteTfs.push_back(
tf);
58 this->getStaticTfBroadcaster().sendTransform(deleteTfs);
61 #if ROS_VERSION_MINIMUM(1, 15, 0)
73 return this->getSegments().size();
78 return this->getFixedSegments().size();
83 #if ROS_VERSION_MINIMUM(1, 15, 0)
84 return this->segments_;
86 return publisher->segments_;
92 #if ROS_VERSION_MINIMUM(1, 15, 0)
93 return this->segments_fixed_;
95 return publisher->segments_fixed_;
101 #if ROS_VERSION_MINIMUM(1, 15, 0)
102 return this->segments_;
104 return publisher->segments_;
110 #if ROS_VERSION_MINIMUM(1, 15, 0)
111 return this->segments_fixed_;
113 return publisher->segments_fixed_;
119 #if ROS_VERSION_MINIMUM(1, 15, 0)
120 return this->static_tf_broadcaster_;
122 return publisher->static_tf_broadcaster_;
126 #if !ROS_VERSION_MINIMUM(1, 15, 0)
129 publisher->addChildren(segment);