typedef.hpp
Go to the documentation of this file.
1 
20 #ifndef TYPEDEF_HPP_
21 #define TYPEDEF_HPP_
22 
23 #include <eigen3/Eigen/Dense>
24 #include <pcl/point_cloud.h>
25 #include <pcl/kdtree/kdtree_flann.h>
26 #include <pcl/filters/frustum_culling.h>
27 #include <pcl/filters/crop_box.h>
28 #include <set>
29 #include <vector>
30 
34 namespace next_best_view {
35  // the used precision in all calculations
36  typedef float Precision;
37 
38  // matrix types
39  typedef Eigen::Matrix<Precision, 2, 2> SimpleMatrix2;
40  typedef Eigen::Matrix<Precision, 3, 3> SimpleMatrix3;
41  typedef Eigen::Matrix<Precision, 4, 4> SimpleMatrix4;
42  typedef Eigen::Matrix<Precision, Eigen::Dynamic, Eigen::Dynamic> SimpleMatrixX;
43 
44  // matrix list types
45  typedef std::vector<SimpleMatrix3, Eigen::aligned_allocator<SimpleMatrix3> > SimpleMatrix3Collection;
47 
48  typedef std::vector<SimpleMatrix4, Eigen::aligned_allocator<SimpleMatrix4> > SimpleMatrix4Collection;
50 
51  // vector types
52  typedef Eigen::Matrix<Precision, 2, 1> SimpleVector2;
53  typedef Eigen::Matrix<Precision, 3, 1> SimpleVector3;
54  typedef SimpleVector3 SimpleSphereCoordinates;
55  typedef Eigen::Matrix<Precision, 4, 1> SimpleVector4;
56  typedef Eigen::Matrix<Precision, Eigen::Dynamic, 1> SimpleVectorX;
57  typedef Eigen::Matrix<int, 3, 1> GridVector3;
58 
59  // vector list types
60  typedef std::vector<SimpleVector3, Eigen::aligned_allocator<SimpleVector3> > SimpleVector3Collection;
62 
63  typedef std::vector<SimpleVector4, Eigen::aligned_allocator<SimpleVector4> > SimpleVector4Collection;
65 
66  // quaternion type
67  typedef Eigen::Quaternion<Precision> SimpleQuaternion;
68 
69  // quaternion list types
70  typedef std::vector<SimpleQuaternion, Eigen::aligned_allocator<SimpleQuaternion> > SimpleQuaternionCollection;
72 
73  // forward declaration for point types
74  struct RealObjectPoint;
75  struct SpaceSamplePoint;
77 
78  // create aliases for actually used point types
82  typedef pcl::PointXYZ WorldPoint;
83 
84  // defining different point cloud types
85  typedef pcl::PointCloud<ObjectPoint> ObjectPointCloud;
86  typedef ObjectPointCloud::Ptr ObjectPointCloudPtr;
87  typedef ObjectPointCloud::ConstPtr ObjectPointCloudConstPtr;
88  typedef pcl::PointCloud<WorldPoint> WorldPointCloud;
89  typedef WorldPointCloud::Ptr WorldPointCloudPtr;
90  typedef WorldPointCloud::ConstPtr WorldPointCloudConstPtr;
91 
92  typedef pcl::PointCloud<SamplePoint> SamplePointCloud;
93  typedef SamplePointCloud::Ptr SamplePointCloudPtr;
94  typedef SamplePointCloud::ConstPtr SamplePointCloudConstPtr;
95 
96  typedef pcl::PointCloud<ViewportPoint> ViewportPointCloud;
97  typedef ViewportPointCloud::Ptr ViewportPointCloudPtr;
98  typedef ViewportPointCloud::ConstPtr ViewportPointCloudConstPtr;
99 
100  // defining the frustum culling
101  typedef pcl::FrustumCulling<ObjectPoint> FrustumCulling;
102  typedef FrustumCulling::Ptr FrustumCullingPtr;
103 
104  // defining the cropbox filtering
105  typedef pcl::CropBox<ObjectPoint> CropBox;
106  typedef CropBox::Ptr CropBoxPtr;
107 
108  // defining kdtree types
109  typedef pcl::KdTreeFLANN<ObjectPoint> KdTree;
110  typedef KdTree::Ptr KdTreePtr;
111  typedef KdTree::ConstPtr KdTreeConstPtr;
112 
113  // defining squared distances type used in kdtree
114  typedef std::vector<float> SquaredDistances;
115 
116  // defining indices types
117  typedef std::vector<int> Indices;
120 
121  // the list of object types
122  typedef std::vector<std::string> ObjectTypeList;
124  typedef std::set<std::string> ObjectTypeSet;
126  typedef std::set<ObjectTypeSetPtr> ObjectTypePowerSet;
128 
129  // visualization
130  typedef SimpleVector4 Color;
131 
132 }
133 
137 
138 #endif /* TYPEDEF_HPP_ */
WorldPointCloud::Ptr WorldPointCloudPtr
Definition: typedef.hpp:89
boost::shared_ptr< ObjectTypeList > ObjectTypeListPtr
Definition: typedef.hpp:123
Eigen::Matrix< Precision, Eigen::Dynamic, 1 > SimpleVectorX
Definition: typedef.hpp:56
pcl::PointCloud< ObjectPoint > ObjectPointCloud
Definition: typedef.hpp:85
boost::shared_ptr< const IndicesPtr > IndicesConstPtr
Definition: typedef.hpp:119
pcl::FrustumCulling< ObjectPoint > FrustumCulling
Definition: typedef.hpp:101
SimpleVector3 SimpleSphereCoordinates
Definition: typedef.hpp:54
std::vector< SimpleMatrix4, Eigen::aligned_allocator< SimpleMatrix4 > > SimpleMatrix4Collection
Definition: typedef.hpp:48
ViewportPointCloud::Ptr ViewportPointCloudPtr
Definition: typedef.hpp:97
Eigen::Matrix< Precision, 3, 1 > SimpleVector3
Definition: typedef.hpp:53
SpaceSamplePoint SamplePoint
Definition: typedef.hpp:80
std::vector< SimpleMatrix3, Eigen::aligned_allocator< SimpleMatrix3 > > SimpleMatrix3Collection
Definition: typedef.hpp:45
std::vector< SimpleQuaternion, Eigen::aligned_allocator< SimpleQuaternion > > SimpleQuaternionCollection
Definition: typedef.hpp:70
Eigen::Matrix< int, 3, 1 > GridVector3
Definition: typedef.hpp:57
Eigen::Matrix< Precision, 2, 2 > SimpleMatrix2
Definition: typedef.hpp:39
pcl::CropBox< ObjectPoint > CropBox
Definition: typedef.hpp:105
std::set< std::string > ObjectTypeSet
Definition: typedef.hpp:124
std::vector< int > Indices
Definition: typedef.hpp:117
RealObjectPoint ObjectPoint
Definition: typedef.hpp:76
ObjectPointCloud::ConstPtr ObjectPointCloudConstPtr
Definition: typedef.hpp:87
FrustumCulling::Ptr FrustumCullingPtr
Definition: typedef.hpp:102
SamplePointCloud::Ptr SamplePointCloudPtr
Definition: typedef.hpp:93
pcl::PointCloud< SamplePoint > SamplePointCloud
Definition: typedef.hpp:92
std::vector< float > SquaredDistances
Definition: typedef.hpp:114
boost::shared_ptr< ObjectTypePowerSet > ObjectTypePowerSetPtr
Definition: typedef.hpp:127
Eigen::Matrix< Precision, 4, 1 > SimpleVector4
Definition: typedef.hpp:55
boost::shared_ptr< SimpleMatrix3Collection > SimpleMatrix3CollectionPtr
Definition: typedef.hpp:46
WorldPointCloud::ConstPtr WorldPointCloudConstPtr
Definition: typedef.hpp:90
this namespace contains all generally usable classes.
pcl::KdTreeFLANN< ObjectPoint > KdTree
Definition: typedef.hpp:109
pcl::PointCloud< ViewportPoint > ViewportPointCloud
Definition: typedef.hpp:96
pcl::PointCloud< WorldPoint > WorldPointCloud
Definition: typedef.hpp:88
Eigen::Matrix< Precision, Eigen::Dynamic, Eigen::Dynamic > SimpleMatrixX
Definition: typedef.hpp:42
CropBox::Ptr CropBoxPtr
Definition: typedef.hpp:106
boost::shared_ptr< Indices > IndicesPtr
Definition: typedef.hpp:118
KdTree::ConstPtr KdTreeConstPtr
Definition: typedef.hpp:111
pcl::PointXYZ WorldPoint
Definition: typedef.hpp:82
boost::shared_ptr< ObjectTypeSet > ObjectTypeSetPtr
Definition: typedef.hpp:125
KdTree::Ptr KdTreePtr
Definition: typedef.hpp:110
DefaultViewportPoint ViewportPoint
Definition: typedef.hpp:81
boost::shared_ptr< SimpleQuaternionCollection > SimpleQuaternionCollectionPtr
Definition: typedef.hpp:71
SimpleVector4 Color
Definition: typedef.hpp:130
boost::shared_ptr< SimpleVector3Collection > SimpleVector3CollectionPtr
Definition: typedef.hpp:61
boost::shared_ptr< SimpleVector4Collection > SimpleVector4CollectionPtr
Definition: typedef.hpp:64
ObjectPointCloud::Ptr ObjectPointCloudPtr
Definition: typedef.hpp:86
Eigen::Matrix< Precision, 2, 1 > SimpleVector2
Definition: typedef.hpp:52
boost::shared_ptr< SimpleMatrix4Collection > SimpleMatrix4CollectionPtr
Definition: typedef.hpp:49
Eigen::Matrix< Precision, 4, 4 > SimpleMatrix4
Definition: typedef.hpp:41
SamplePointCloud::ConstPtr SamplePointCloudConstPtr
Definition: typedef.hpp:94
std::vector< SimpleVector3, Eigen::aligned_allocator< SimpleVector3 > > SimpleVector3Collection
Definition: typedef.hpp:60
std::set< ObjectTypeSetPtr > ObjectTypePowerSet
Definition: typedef.hpp:126
ViewportPointCloud::ConstPtr ViewportPointCloudConstPtr
Definition: typedef.hpp:98
Eigen::Quaternion< Precision > SimpleQuaternion
Definition: typedef.hpp:67
std::vector< SimpleVector4, Eigen::aligned_allocator< SimpleVector4 > > SimpleVector4Collection
Definition: typedef.hpp:63
Eigen::Matrix< Precision, 3, 3 > SimpleMatrix3
Definition: typedef.hpp:40
std::vector< std::string > ObjectTypeList
Definition: typedef.hpp:122
float Precision
Definition: typedef.hpp:36


asr_next_best_view
Author(s): Aumann Florian, Borella Jocelyn, Heller Florian, Meißner Pascal, Schleicher Ralf, Stöckle Patrick, Stroh Daniel, Trautmann Jeremias, Walter Milena, Wittenbeck Valerij
autogenerated on Thu Jan 9 2020 07:20:18