MIRA
PointCloud3Normal.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) by
3  * MetraLabs GmbH (MLAB), GERMANY
4  * and
5  * Neuroinformatics and Cognitive Robotics Labs (NICR) at TU Ilmenau, GERMANY
6  * All rights reserved.
7  *
8  * Redistribution and modification of this code is strictly prohibited.
9  *
10  * IN NO EVENT SHALL "MLAB" OR "NICR" BE LIABLE TO ANY PARTY FOR DIRECT,
11  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF
12  * THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF "MLAB" OR
13  * "NICR" HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14  *
15  * "MLAB" AND "NICR" SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING,
16  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
17  * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
18  * ON AN "AS IS" BASIS, AND "MLAB" AND "NICR" HAVE NO OBLIGATION TO
19  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS OR MODIFICATIONS.
20  */
21 
30 #ifndef _MIRA_POINTCLOUD3NORMAL_H_
31 #define _MIRA_POINTCLOUD3NORMAL_H_
32 
33 #include <maps/PointCloudTypes.h>
34 
35 namespace mira { namespace maps {
36 
38 
39 class Point3normal : public Point3f
40 {
41 public:
42  typedef Eigen::Vector3f Normal;
44 
45 public:
46 
47  Point3normal() : normal(0,0,0) {}
48  Point3normal(const Point3f& p, const Normal& n) :
49  Point3f(p), normal(n) {}
50 
51 public:
52 
54  {
55  PCFormat fmt;
56  fmt.addField("x",PCDataField::FLOAT32,1);
57  fmt.addField("y",PCDataField::FLOAT32,1);
58  fmt.addField("z",PCDataField::FLOAT32,1);
59  fmt.addField("normal_x",PCDataField::FLOAT32,1);
60  fmt.addField("normal_y",PCDataField::FLOAT32,1);
61  fmt.addField("normal_z",PCDataField::FLOAT32,1);
62  return fmt;
63  }
64 
65 };
66 
68 
70 
71 }} // namespace
72 
73 #endif
Point3normal(const Point3f &p, const Normal &n)
Definition: PointCloud3Normal.h:48
Definition: PointCloud.h:172
Normal normal
Definition: PointCloud3Normal.h:43
PointCloud< Point3normal > PointCloud3Normal
Definition: PointCloud3Normal.h:67
Eigen::Vector3f Normal
Definition: PointCloud3Normal.h:42
Definition: PointCloud3Normal.h:39
static PCFormat pointCloudFormat()
Definition: PointCloud3Normal.h:53
Definition: PointCloudFormat.h:104
void addField(const std::string &semantic, PCDataField::Type type, std::size_t count)
Point3normal()
Definition: PointCloud3Normal.h:47
Definition: PointCloudFormat.h:54