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 
28 /** @class StorageAdapter <pcl_utils/storage_adapter.h>
29  * Adapter base class.
30  * The adapter base class is required to store point clouds of
31  * arbitrary point types.
32  * @author Tim Niemueller
33  *
34  * @fn bool StorageAdapter::is_pointtype() const
35  * Check if storage adapter is for specified point type.
36  * @return true if storage adapter is for specified point type, false otherwise
37  *
38  * @fn template <PointT> PointCloudStorageAdapter<PointT> * StorageAdapter::as_pointtype() const
39  * Transform to specific PointCloudStorageAdapter.
40  * @return transformed PointCloudStorageAdapter
41  * @exception Exception thrown if storage adapter is not of requested point type or does not exist
42  *
43  * @fn StorageAdapter * StorageAdapter::clone() const
44  * Clone this storage adapter.
45  * @return cloned copy
46  *
47  * @fn const char * StorageAdapter::get_typename()
48  * Get typename of storage adapter.
49  * @return type name
50  *
51  * @fn size_t StorageAdapter::point_size() const
52  * Get size of a point.
53  * @return size in bytes of a single point
54  *
55  * @fn unsigned int StorageAdapter::width() const
56  * Get width of point cloud.
57  * @return width of point cloud
58  *
59  * @fn unsigned int StorageAdapter::height() const
60  * Get height of point cloud.
61  * @return height of point cloud
62  *
63  * @fn size_t StorageAdapter::num_points() const
64  * Get numer of points in point cloud.
65  * @return number of points
66  *
67  * @fn void * StorageAdapter::data_ptr() const
68  * Get pointer on data.
69  * @return pointer on data
70  *
71  * @fn void StorageAdapter::get_time(fawkes::Time &time) const
72  * Get last capture time.
73  * @param time upon return contains last capture time
74  *
75  * @fn std::string & StorageAdapter::frame_id() const
76  * Get frame ID of point cloud.
77  * @return Frame ID of point cloud.
78  *
79  * @fn void StorageAdapter::transform(const std::string &target_frame, const tf::Transformer &transformer)
80  * Transform point cloud.
81  * @param target_frame frame to transform to
82  * @param transformer transformer to get transform from
83  *
84  * @fn void StorageAdapter::transform(const std::string &target_frame, const Time &target_time, const std::string &fixed_frame, const tf::Transformer &transformer)
85  * Transform point cloud.
86  * @param target_frame frame to transform to
87  * @param target_time time for which to transform
88  * @param fixed_frame frame fixed over time
89  * @param transformer transformer to get transform from
90  */
91 
92 /** @class PointCloudStorageAdapter <pcl_utils/storage_adapter.h>
93  * Adapter class for PCL point types.
94  * The adapter class is required to store point clouds of arbitrary point types.
95  * @author Tim Niemueller
96  */
97 
98 } // end namespace pcl_utils
99 } // end namespace fawkes
Fawkes library namespace.