35 #include <geometry_msgs/PointStamped.h> 36 #include <boost/bind.hpp> 37 #include <boost/scoped_ptr.hpp> 42 #include <gtest/gtest.h> 51 count_(0), expected_count_(expected_count), failure_count_(0)
55 void notify(
const geometry_msgs::PointStamped::ConstPtr& message)
60 void failure(
const geometry_msgs::PointStamped::ConstPtr& message,
FilterFailureReason reason)
77 geometry_msgs::PointStampedPtr msg(
new geometry_msgs::PointStamped);
79 msg->header.frame_id =
"frame2";
92 geometry_msgs::PointStampedPtr msg(
new geometry_msgs::PointStamped);
94 msg->header.frame_id =
"frame1";
102 geometry_msgs::TransformStamped
t;
103 t.header.frame_id = frame1;
104 t.child_frame_id = frame2;
105 t.header.stamp = stamp;
106 t.transform.translation.x = v.x();
107 t.transform.translation.y = v.y();
108 t.transform.translation.z = v.z();
109 t.transform.rotation.x = q.x();
110 t.transform.rotation.y = q.y();
111 t.transform.rotation.z = q.z();
112 t.transform.rotation.w = q.w();
124 bc.
setTransform(
createTransform(
Quaternion(0,0,0,1),
Vector3(1,2,3), stamp,
"frame1",
"frame2"),
"me");
126 geometry_msgs::PointStampedPtr msg(
new geometry_msgs::PointStamped);
127 msg->header.stamp = stamp;
128 msg->header.frame_id =
"frame2";
144 geometry_msgs::PointStampedPtr msg(
new geometry_msgs::PointStamped);
145 msg->header.stamp = stamp;
146 msg->header.frame_id =
"frame2";
152 bc.
setTransform(
createTransform(
Quaternion(0,0,0,1),
Vector3(1,2,3), stamp,
"frame1",
"frame2"),
"me");
167 for (
int i = 0; i < 20; ++i)
169 geometry_msgs::PointStampedPtr msg(
new geometry_msgs::PointStamped);
170 msg->header.stamp = stamp;
171 msg->header.frame_id =
"frame2";
179 bc.
setTransform(
createTransform(
Quaternion(0,0,0,1),
Vector3(1,2,3), stamp,
"frame1",
"frame2"),
"me");
193 bc.
setTransform(
createTransform(
Quaternion(0,0,0,1),
Vector3(1,2,3), stamp,
"frame1000",
"frame2"),
"me");
195 geometry_msgs::PointStampedPtr msg(
new geometry_msgs::PointStamped);
196 msg->header.stamp = stamp;
197 msg->header.frame_id =
"frame2";
212 std::vector<std::string> target_frames;
213 target_frames.push_back(
"frame1");
214 target_frames.push_back(
"frame2");
218 bc.
setTransform(
createTransform(
Quaternion(0,0,0,1),
Vector3(1,2,3), stamp,
"frame1",
"frame3"),
"me");
220 geometry_msgs::PointStampedPtr msg(
new geometry_msgs::PointStamped);
221 msg->header.stamp = stamp;
222 msg->header.frame_id =
"frame3";
229 bc.
setTransform(
createTransform(
Quaternion(0,0,0,1),
Vector3(1,2,3), stamp,
"frame1",
"frame2"),
"me");
244 bc.
setTransform(
createTransform(
Quaternion(0,0,0,1),
Vector3(1,2,3), stamp,
"frame1",
"frame2"),
"me");
246 geometry_msgs::PointStampedPtr msg(
new geometry_msgs::PointStamped);
247 msg->header.stamp = stamp;
248 msg->header.frame_id =
"frame2";
253 bc.
setTransform(
createTransform(
Quaternion(0,0,0,1),
Vector3(1,2,3), stamp + (offset * 1.1),
"frame1",
"frame2"),
"me");
257 msg->header.stamp = stamp + offset;
271 bc.
setTransform(
createTransform(
Quaternion(0,0,0,1),
Vector3(1,2,3), stamp,
"frame1",
"frame2"),
"me");
272 bc.
setTransform(
createTransform(
Quaternion(0,0,0,1),
Vector3(1,2,3), stamp +
ros::Duration(10000),
"frame1",
"frame2"),
"me");
274 geometry_msgs::PointStampedPtr msg(
new geometry_msgs::PointStamped);
275 msg->header.stamp = stamp;
276 msg->header.frame_id =
"frame2";
291 geometry_msgs::PointStampedPtr msg(
new geometry_msgs::PointStamped);
292 msg->header.stamp = stamp;
293 msg->header.frame_id =
"frame2";
299 bc.
setTransform(
createTransform(
Quaternion(0,0,0,1),
Vector3(1,2,3), stamp +
ros::Duration(10000),
"frame1",
"frame2"),
"me");
311 geometry_msgs::PointStampedPtr msg(
new geometry_msgs::PointStamped);
312 msg->header.frame_id =
"";
326 geometry_msgs::PointStampedPtr msg(
new geometry_msgs::PointStamped);
328 msg->header.frame_id =
"frame1";
339 int main(
int argc,
char** argv)
341 testing::InitGoogleTest(&argc, argv);
343 int ret = RUN_ALL_TESTS();
TEST(MessageFilter, noTransforms)
int main(int argc, char **argv)
bool setTransform(const geometry_msgs::TransformStamped &transform, const std::string &authority, bool is_static=false)
void setTargetFrame(const std::string &target_frame)
message_filters::Connection registerFailureCallback(const FailureCallback &callback)
geometry_msgs::TransformStamped t
void add(const MEvent &evt)
void setTargetFrames(const V_string &target_frames)
TFSIMD_FORCE_INLINE Vector3()
void setTolerance(const ros::Duration &tolerance)
geometry_msgs::TransformStamped createTransform(Quaternion q, Vector3 v, ros::Time stamp, const std::string &frame1, const std::string &frame2)
void notify(const geometry_msgs::PointStamped::ConstPtr &message)
void failure(const geometry_msgs::PointStamped::ConstPtr &message, FilterFailureReason reason)
Connection registerCallback(const C &callback)