Fawkes API  Fawkes Development Version
storage_adapter.cpp
1 
2 /***************************************************************************
3  * storage_adapter.cpp - Utility to store differently typed point clouds in
4  * common container.
5  *
6  * Created: Fri Nov 30 16:46:13 2012
7  * Copyright 2011-2012 Tim Niemueller [www.niemueller.de]
8  ****************************************************************************/
9 
10 /* This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Library General Public License for more details.
19  *
20  * Read the full text in the LICENSE.GPL file in the doc directory.
21  */
22 
23 #include <pcl_utils/storage_adapter.h>
24 
25 namespace fawkes {
26  namespace pcl_utils {
27 #if 0 /* just to make Emacs auto-indent happy */
28  }
29 }
30 #endif
31 
32 /** @class StorageAdapter <pcl_utils/storage_adapter.h>
33  * Adapter base class.
34  * The adapter base class is required to store point clouds of
35  * arbitrary point types.
36  * @author Tim Niemueller
37  *
38  * @fn bool StorageAdapter::is_pointtype() const
39  * Check if storage adapter is for specified point type.
40  * @return true if storage adapter is for specified point type, false otherwise
41  *
42  * @fn template <PointT> PointCloudStorageAdapter<PointT> * StorageAdapter::as_pointtype() const
43  * Transform to specific PointCloudStorageAdapter.
44  * @return transformed PointCloudStorageAdapter
45  * @exception Exception thrown if storage adapter is not of requested point type or does not exist
46  *
47  * @fn StorageAdapter * StorageAdapter::clone() const
48  * Clone this storage adapter.
49  * @return cloned copy
50  *
51  * @fn const char * StorageAdapter::get_typename()
52  * Get typename of storage adapter.
53  * @return type name
54  *
55  * @fn size_t StorageAdapter::point_size() const
56  * Get size of a point.
57  * @return size in bytes of a single point
58  *
59  * @fn unsigned int StorageAdapter::width() const
60  * Get width of point cloud.
61  * @return width of point cloud
62  *
63  * @fn unsigned int StorageAdapter::height() const
64  * Get height of point cloud.
65  * @return height of point cloud
66  *
67  * @fn size_t StorageAdapter::num_points() const
68  * Get numer of points in point cloud.
69  * @return number of points
70  *
71  * @fn void * StorageAdapter::data_ptr() const
72  * Get pointer on data.
73  * @return pointer on data
74  *
75  * @fn void StorageAdapter::get_time(fawkes::Time &time) const
76  * Get last capture time.
77  * @param time upon return contains last capture time
78  *
79  * @fn std::string & StorageAdapter::frame_id() const
80  * Get frame ID of point cloud.
81  * @return Frame ID of point cloud.
82  *
83  * @fn void StorageAdapter::transform(const std::string &target_frame, const tf::Transformer &transformer)
84  * Transform point cloud.
85  * @param target_frame frame to transform to
86  * @param transformer transformer to get transform from
87  *
88  * @fn void StorageAdapter::transform(const std::string &target_frame, const Time &target_time, const std::string &fixed_frame, const tf::Transformer &transformer)
89  * Transform point cloud.
90  * @param target_frame frame to transform to
91  * @param target_time time for which to transform
92  * @param fixed_frame frame fixed over time
93  * @param transformer transformer to get transform from
94  */
95 
96 
97 /** @class PointCloudStorageAdapter <pcl_utils/storage_adapter.h>
98  * Adapter class for PCL point types.
99  * The adapter class is required to store point clouds of arbitrary point types.
100  * @author Tim Niemueller
101  */
102 
103 } // end namespace pcl_utils
104 } // end namespace fawkes
Fawkes library namespace.