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_;