Fawkes API
Fawkes Development Version
transform_storage.h
1
/***************************************************************************
2
* transform_storage.h - Fawkes tf transform storage (based on ROS tf/tf2)
3
*
4
* Created: Thu Oct 20 11:09:58 2011
5
* Copyright 2011-2015 Tim Niemueller [www.niemueller.de]
6
****************************************************************************/
7
8
/* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* (at your option) any later version. A runtime exception applies to
12
* this software (see LICENSE.GPL_WRE file mentioned below for details).
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU Library General Public License for more details.
18
*
19
* Read the full text in the LICENSE.GPL_WRE file in the doc directory.
20
*/
21
22
/* This code is based on ROS tf with the following copyright and license:
23
*
24
* Copyright (c) 2010, Willow Garage, Inc.
25
* All rights reserved.
26
*
27
* Redistribution and use in source and binary forms, with or without
28
* modification, are permitted provided that the following conditions are met:
29
*
30
* * Redistributions of source code must retain the above copyright
31
* notice, this list of conditions and the following disclaimer.
32
* * Redistributions in binary form must reproduce the above copyright
33
* notice, this list of conditions and the following disclaimer in the
34
* documentation and/or other materials provided with the distribution.
35
* * Neither the name of the Willow Garage, Inc. nor the names of its
36
* contributors may be used to endorse or promote products derived from
37
* this software without specific prior written permission.
38
*
39
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
40
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
41
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
42
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
43
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
44
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
45
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
46
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
47
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
48
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
49
* POSSIBILITY OF SUCH DAMAGE.
50
*/
51
52
#ifndef __LIBS_TF_TRANSFORM_STORAGE_H_
53
#define __LIBS_TF_TRANSFORM_STORAGE_H_
54
55
#include <tf/types.h>
56
57
#include <list>
58
59
namespace
fawkes
{
60
namespace
tf {
61
#if 0
/* just to make Emacs auto-indent happy */
62
}
63
}
64
#endif
65
66
class
TransformStorage
67
{
68
public
:
69
TransformStorage
();
70
TransformStorage
(
const
StampedTransform
& data, CompactFrameID
frame_id
,
71
CompactFrameID
child_frame_id
);
72
73
/** Copy constructor.
74
* @param rhs storage to copy
75
*/
76
TransformStorage
(
const
TransformStorage
& rhs)
77
{
78
*
this
= rhs;
79
}
80
81
TransformStorage
&
operator=
(
const
TransformStorage
& rhs)
82
{
83
rotation
= rhs.
rotation
;
84
translation
= rhs.
translation
;
85
stamp
= rhs.
stamp
;
86
frame_id = rhs.
frame_id
;
87
child_frame_id = rhs.
child_frame_id
;
88
return
*
this
;
89
}
90
91
Quaternion
rotation
;
///< rotation quaternion
92
Vector3
translation
;
///< translation vector
93
fawkes::Time
stamp
;
///< time stamp
94
CompactFrameID
frame_id
;
///< parent/reference frame number
95
CompactFrameID
child_frame_id
;
///< child frame number
96
};
97
98
}
// end namespace tf
99
}
// end namespace fawkes
100
101
#endif
fawkes::tf::TransformStorage::operator=
TransformStorage & operator=(const TransformStorage &rhs)
Assignment operator.
Definition:
transform_storage.h:81
fawkes
Fawkes library namespace.
fawkes::tf::TransformStorage
Storage for transforms and their parent.
Definition:
transform_storage.h:66
fawkes::Time
A class for handling time.
Definition:
time.h:91
fawkes::tf::TransformStorage::child_frame_id
CompactFrameID child_frame_id
child frame number
Definition:
transform_storage.h:95
fawkes::tf::TransformStorage::TransformStorage
TransformStorage(const TransformStorage &rhs)
Copy constructor.
Definition:
transform_storage.h:76
fawkes::tf::TransformStorage::frame_id
CompactFrameID frame_id
parent/reference frame number
Definition:
transform_storage.h:94
fawkes::tf::StampedTransform
Transform that contains a timestamp and frame IDs.
Definition:
types.h:96
fawkes::tf::TransformStorage::rotation
Quaternion rotation
rotation quaternion
Definition:
transform_storage.h:91
fawkes::tf::TransformStorage::translation
Vector3 translation
translation vector
Definition:
transform_storage.h:92
fawkes::tf::TransformStorage::stamp
fawkes::Time stamp
time stamp
Definition:
transform_storage.h:93
fawkes::tf::TransformStorage::TransformStorage
TransformStorage()
Constructor.
Definition:
time_cache.cpp:73
src
libs
tf
transform_storage.h
Generated by
1.8.13