36 #define BOOST_PARAMETER_MAX_ARITY 7 
   46     normal_ = Eigen::Vector3f(coefficients[0], coefficients[1], coefficients[2]);
 
   54     normal_ = Eigen::Vector3f(coefficients[0], coefficients[1], coefficients[2]);
 
   61     normal_(normal.normalized()), d_(
d / normal.norm())
 
   67     normal_(normal.normalized()), d_(- normal.
dot(
p) / normal.norm())
 
  109     return normal_.dot(another_normal) > 0;
 
  134     return fabs(fabs(
d_) - fabs(another.
d_));
 
  143     else if (
dot < -1.0) {
 
  146     double theta = acos(
dot);
 
  147     if (theta > M_PI / 2.0) {
 
  160     else if (
dot < -1.0) {
 
  163     double theta = acos(
dot);
 
  164     if (theta > M_PI / 2.0) {
 
  182     Eigen::Vector3f output_f;
 
  183     project(Eigen::Vector3f(
p[0], 
p[1], 
p[2]), output_f);
 
  184     pointFromVectorToVector<Eigen::Vector3f, Eigen::Vector3d>(output_f, output);
 
  189     project(Eigen::Vector3f(
p[0], 
p[1], 
p[2]), output);
 
  194     Eigen::Vector3f output_f;
 
  196     pointFromVectorToVector<Eigen::Vector3f, Eigen::Vector3d>(output_f, output);
 
  201     Eigen::Affine3f pose_f, output_f;
 
  209     Eigen::Vector3f 
p(pose.translation());
 
  210     Eigen::Vector3f output_p;
 
  212     Eigen::Quaternionf rot;
 
  213     rot.setFromTwoVectors(pose.rotation() * Eigen::Vector3f::UnitZ(),
 
  214                           coordinates().rotation() * Eigen::Vector3f::UnitZ());
 
  215     output = Eigen::Affine3f::Identity() * Eigen::Translation3f(output_p) * rot;
 
  220     Eigen::Affine3d transform_d;
 
  233     Eigen::Vector4d n_d = m.transpose() * n;
 
  235     Eigen::Vector4d n_dd = n_d / sqrt(n_d[0] * n_d[0] + n_d[1] * n_d[1] + n_d[2] * n_d[2]);
 
  236     return Plane(Eigen::Vector3f(n_dd[0], n_dd[1], n_dd[2]), n_dd[3]);
 
  241     std::vector<float> ret;
 
  251     output.push_back(
d_);
 
  266     Eigen::Quaternionf rot;
 
  267     rot.setFromTwoVectors(Eigen::Vector3f::UnitZ(), 
normal_);
 
  279       = Eigen::Affine3f::Identity() * Eigen::Translation3f(0, 0, z) * rot;