42 Eigen::Matrix<double,dim,1>
temp(Eigen::Matrix<double,dim,1>::Zero());
45 const Eigen::Matrix<double,dim+1,1> bary(ele->simplex.pos2bary(
P0));
48 if (std::fabs(bary(
k))<FLT_EPSILON && ele->simplex.child(
k).isBoundarySimplex())
50 temp += ele->simplex.nda.col(
k).normalized();
54 const double tempNorm(
temp.norm());
55 return tempNorm>FLT_EPSILON? (
temp/tempNorm).
eval() : Eigen::Matrix<double,dim,1>::Zero();
60 Eigen::Matrix<double,dim,dim>
temp(Eigen::Matrix<double,dim,dim>::Zero());
63 const Eigen::Matrix<double,dim+1,1> bary(ele->simplex.pos2bary(
P0));
66 if (std::fabs(bary(
k))<FLT_EPSILON && (ele->simplex.child(
k).isBoundarySimplex() || ele->simplex.child(
k).isRegionBoundarySimplex()))
68 const Eigen::Matrix<double,dim,1> unitNormal(ele->simplex.nda.col(
k).normalized());
69 temp += unitNormal*unitNormal.transpose();