4 Eigen::Vector2f k (1e-5, 1e-5);
14 const double Zlen = std::sqrt (Z);
17 const double disc2 = H * H -
K;
18 assert (disc2 >= 0.0);
19 const double disc = std::sqrt (disc2);
23 if (std::abs (k[0]) > std::abs (k[1])) std::swap (k[0], k[1]);
27 PCL_ERROR (
"No Polynomial fit data, unable to calculate the principal curvatures!\n");
Data structure used to store the MLS polynomial partial derivatives.
double z_uv
The partial derivative d^2z/dudv.
double z_u
The partial derivative dz/du.
double z_uu
The partial derivative d^2z/du^2.
double z_vv
The partial derivative d^2z/dv^2.
double z_v
The partial derivative dz/dv.
Eigen::VectorXd c_vec
The polynomial coefficients Example: z = c_vec[0] + c_vec[1]*v + c_vec[2]*v^2 + c_vec[3]*u + c_vec[4]...
PolynomialPartialDerivative getPolynomialPartialDerivative(const double u, const double v) const
Calculate the polynomial's first and second partial derivatives.
Eigen::Vector2f calculatePrincipalCurvatures(const double u, const double v) const
Calculate the principal curvatures using the polynomial surface.
int order
The order of the polynomial.