convert.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  * Copyright (c) 2013, Open Source Robotics Foundation
4  * All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  * * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the distribution.
14  * * Neither the name of the Willow Garage, Inc. nor the names of its
15  * contributors may be used to endorse or promote products derived from
16  * this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28  * POSSIBILITY OF SUCH DAMAGE.
29  */
30 
33 #ifndef TF2_CONVERT_H
34 #define TF2_CONVERT_H
35 
36 
37 #include <tf2/transform_datatypes.h>
38 #include <tf2/exceptions.h>
40 #include <tf2/impl/convert.h>
41 
42 namespace tf2 {
43 
53 template <class T>
54  void doTransform(const T& data_in, T& data_out, const geometry_msgs::TransformStamped& transform);
55 
61 template <class T>
62  const ros::Time& getTimestamp(const T& t);
63 
69 template <class T>
70  const std::string& getFrameId(const T& t);
71 
72 
73 
74 /* An implementation for Stamped<P> datatypes */
75 template <class P>
77  {
78  return t.stamp_;
79  }
80 
81 /* An implementation for Stamped<P> datatypes */
82 template <class P>
83  const std::string& getFrameId(const tf2::Stamped<P>& t)
84  {
85  return t.frame_id_;
86  }
87 
94 template<typename A, typename B>
95  B toMsg(const A& a);
96 
103 template<typename A, typename B>
104  void fromMsg(const A&, B& b);
105 
113 template <class A, class B>
114  void convert(const A& a, B& b)
115  {
116  //printf("In double type convert\n");
117  impl::Converter<ros::message_traits::IsMessage<A>::value, ros::message_traits::IsMessage<B>::value>::convert(a, b);
118  }
119 
120 template <class A>
121  void convert(const A& a1, A& a2)
122  {
123  //printf("In single type convert\n");
124  if(&a1 != &a2)
125  a2 = a1;
126  }
127 
128 
129 }
130 
131 #endif //TF2_CONVERT_H
tf2::getTimestamp
const ros::Time & getTimestamp(const T &t)
Get the timestamp from data.
tf2::convert
void convert(const A &a, B &b)
Definition: convert.h:114
tf2::fromMsg
void fromMsg(const A &, B &b)
tf2::Stamped
The data type which will be cross compatable with geometry_msgs This is the tf2 datatype equivilant o...
Definition: transform_datatypes.h:45
A
convert.h
ros::Time
tf2::doTransform
void doTransform(const T &data_in, T &data_out, const geometry_msgs::TransformStamped &transform)
The templated function expected to be able to do a transform.
tf2::getFrameId
const std::string & getFrameId(const T &t)
Get the frame_id from data.
TransformStamped.h
tf2
ros::message_traits::IsMessage
sick_scan_base.h
tf2::toMsg
B toMsg(const A &a)
geometry_msgs::TransformStamped_
Definition: TransformStamped.h:25
t
geometry_msgs::TransformStamped t


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