36 #ifndef JSK_RECOGNITION_UTILS_GEO_PLANE_H_ 
   37 #define JSK_RECOGNITION_UTILS_GEO_PLANE_H_ 
   39 #include <Eigen/Geometry> 
   40 #include <boost/shared_ptr.hpp> 
   41 #include <boost/array.hpp> 
   51     Plane(
const std::vector<float>& coefficients);
 
   52     Plane(
const boost::array<float, 4>& coefficients);
 
   53     Plane(Eigen::Vector3f normal, 
double d);
 
   54     Plane(Eigen::Vector3f normal, Eigen::Vector3f 
p);
 
   66     virtual double angle(
const Eigen::Vector3f& vector);
 
   67     virtual void project(
const Eigen::Vector3f& 
p, Eigen::Vector3f& output);
 
   68     virtual void project(
const Eigen::Vector3d& 
p, Eigen::Vector3d& output);
 
   69     virtual void project(
const Eigen::Vector3d& 
p, Eigen::Vector3f& output);
 
   70     virtual void project(
const Eigen::Vector3f& 
p, Eigen::Vector3d& output);
 
   71     virtual void project(
const Eigen::Affine3d& pose, Eigen::Affine3d& output);
 
   72     virtual void project(
const Eigen::Affine3f& pose, Eigen::Affine3f& output);