buffer_client.h
Go to the documentation of this file.
1 #include "sick_scan/sick_scan_base.h" /* Base definitions included in all header files, added by add_sick_scan_base_header.py. Do not edit this line. */
2 /*********************************************************************
3 *
4 * Software License Agreement (BSD License)
5 *
6 * Copyright (c) 2009, Willow Garage, Inc.
7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
11 * are met:
12 *
13 * * Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * * Redistributions in binary form must reproduce the above
16 * copyright notice, this list of conditions and the following
17 * disclaimer in the documentation and/or other materials provided
18 * with the distribution.
19 * * Neither the name of Willow Garage, Inc. nor the names of its
20 * contributors may be used to endorse or promote products derived
21 * from this software without specific prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
26 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
27 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
28 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
29 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
33 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 * POSSIBILITY OF SUCH DAMAGE.
35 *
36 * Author: Eitan Marder-Eppstein
37 *********************************************************************/
38 #ifndef TF2_ROS_BUFFER_CLIENT_H_
39 #define TF2_ROS_BUFFER_CLIENT_H_
40 
41 #include <tf2_ros/buffer_interface.h>
43 #include <tf2_msgs/LookupTransformAction.h>
44 
45 namespace tf2_ros
46 {
53  class BufferClient : public BufferInterface
54  {
55  public:
57 
63  BufferClient(std::string ns, double check_frequency = 10.0, ros::Duration timeout_padding = ros::Duration(2.0));
64 
76  lookupTransform(const std::string& target_frame, const std::string& source_frame,
77  const ros::Time& time, const ros::Duration timeout = ros::Duration(0.0)) const;
78 
92  lookupTransform(const std::string& target_frame, const ros::Time& target_time,
93  const std::string& source_frame, const ros::Time& source_time,
94  const std::string& fixed_frame, const ros::Duration timeout = ros::Duration(0.0)) const;
95 
104  virtual bool
105  canTransform(const std::string& target_frame, const std::string& source_frame,
106  const ros::Time& time, const ros::Duration timeout = ros::Duration(0.0), std::string* errstr = NULL) const;
107 
118  virtual bool
119  canTransform(const std::string& target_frame, const ros::Time& target_time,
120  const std::string& source_frame, const ros::Time& source_time,
121  const std::string& fixed_frame, const ros::Duration timeout = ros::Duration(0.0), std::string* errstr = NULL) const;
122 
128  {
129  return client_.waitForServer(timeout);
130  }
131 
132  private:
133  geometry_msgs::TransformStamped processGoal(const tf2_msgs::LookupTransformGoal& goal) const;
134  geometry_msgs::TransformStamped processResult(const tf2_msgs::LookupTransformResult& result) const;
135  mutable LookupActionClient client_;
136  double check_frequency_;
138  };
139 };
140 #endif
NULL
#define NULL
actionlib::SimpleActionClient::waitForServer
bool waitForServer(const ros::Duration &timeout=ros::Duration(0, 0)) const
tf2_ros::BufferClient::timeout_padding_
ros::Duration timeout_padding_
Definition: buffer_client.h:137
tf2_ros::BufferClient::canTransform
virtual bool canTransform(const std::string &target_frame, const ros::Time &target_time, const std::string &source_frame, const ros::Time &source_time, const std::string &fixed_frame, const ros::Duration timeout=ros::Duration(0.0), std::string *errstr=NULL) const
tf2_ros::BufferClient::processGoal
geometry_msgs::TransformStamped processGoal(const tf2_msgs::LookupTransformGoal &goal) const
tf2_ros::BufferClient::LookupActionClient
actionlib::SimpleActionClient< tf2_msgs::LookupTransformAction > LookupActionClient
tf2_ros::BufferClient::BufferClient
BufferClient(std::string ns, double check_frequency=10.0, ros::Duration timeout_padding=ros::Duration(2.0))
actionlib::SimpleActionClient< tf2_msgs::LookupTransformAction >
tf2_ros::BufferClient::client_
LookupActionClient client_
Definition: buffer_client.h:135
tf2_ros::BufferClient::check_frequency_
double check_frequency_
Definition: buffer_client.h:136
tf2_ros
simple_action_client.h
ros::Time
tf2_ros::BufferClient::processResult
geometry_msgs::TransformStamped processResult(const tf2_msgs::LookupTransformResult &result) const
sick_scan_base.h
tf2_ros::BufferClient::waitForServer
bool waitForServer(const ros::Duration &timeout=ros::Duration(0))
sick_generic_device_finder.timeout
timeout
Definition: sick_generic_device_finder.py:113
target_frame
std::string target_frame
ros::Duration
geometry_msgs::TransformStamped_
Definition: TransformStamped.h:25
tf2_ros::BufferClient::lookupTransform
virtual geometry_msgs::TransformStamped lookupTransform(const std::string &target_frame, const ros::Time &target_time, const std::string &source_frame, const ros::Time &source_time, const std::string &fixed_frame, const ros::Duration timeout=ros::Duration(0.0)) const


sick_scan_xd
Author(s): Michael Lehning , Jochen Sprickerhof , Martin Günther
autogenerated on Fri Oct 25 2024 02:47:07