35 #ifndef JSK_RECOGNITION_UTILS_GRID_LINE_H_
36 #define JSK_RECOGNITION_UTILS_GRID_LINE_H_
37 #include <pcl/point_types.h>
38 #include <boost/shared_ptr.hpp>
42 #include <Eigen/Geometry>
50 GridLine(
const pcl::PointXYZRGB a,
const pcl::PointXYZRGB b);
53 const pcl::PointXYZRGB& B,
54 const pcl::PointXYZRGB& C,
55 const pcl::PointXYZRGB& D);
57 const Eigen::Vector3f B,
58 const Eigen::Vector3f C,
59 const Eigen::Vector3f D)
75 bool ab_direction = Across.dot(Bcross) < 0;
76 bool ac_direction = Across.dot(Ccross) < 0;
77 bool ad_direction = Across.dot(Dcross) < 0;
78 bool bc_direction = Bcross.dot(Ccross) < 0;
79 if (Across.norm() == 0 ||
85 else if ((ab_direction == ac_direction) &&
86 (ab_direction == ad_direction)
87 && (ab_direction == bc_direction)) {
95 const Eigen::Vector3f
from;
96 const Eigen::Vector3f
to;
98 const Eigen::Vector3f
d_;