Go to the documentation of this file.00001 #ifndef _TRANSFORM_GRAPH_POSITION_H_
00002 #define _TRANSFORM_GRAPH_POSITION_H_
00003
00004 #include "Eigen/Dense"
00005 #include "geometry_msgs/Point.h"
00006 #include "geometry_msgs/Vector3.h"
00007 #include "pcl/point_types.h"
00008 #include "tf/transform_datatypes.h"
00009
00010 namespace transform_graph {
00015 class Position {
00016 public:
00018 Position();
00020 Position(double x, double y, double z);
00022 Position(const Eigen::Vector3d& v);
00024 Position(const geometry_msgs::Point& p);
00026 Position(const geometry_msgs::Vector3& v);
00028 Position(const pcl::PointXYZ& p);
00030 Position(const tf::Vector3& v);
00031
00034 Eigen::Vector3d vector() const;
00035
00038 geometry_msgs::Point point() const;
00039
00042 geometry_msgs::Vector3 vector_msg() const;
00043
00046 pcl::PointXYZ pcl_point() const;
00047
00050 tf::Vector3 tf_vector3() const;
00051
00054 double x() const;
00055
00058 double y() const;
00059
00062 double z() const;
00063
00064 private:
00065 Eigen::Vector3d vector_;
00066 };
00067 }
00068
00069 #endif // _TRANSFORM_GRAPH_POSITION_H_