17 Eigen::Vector3d x_magnitude = Eigen::Vector3d::Zero();
18 auto const x_ref = nodes[0]->asEigenVector3d();
20 for (
auto const& node : nodes)
22 auto const x = node->asEigenVector3d();
23 x_magnitude += (x - x_ref).cwiseAbs();
27 if (x_magnitude[2] > 0)
32 const auto computed_dimension = std::count_if(
33 x_magnitude.begin(), x_magnitude.end(),
34 [](
const double x_i_magnitude)
35 { return x_i_magnitude > std::numeric_limits<double>::epsilon(); });
38 if (computed_dimension == 1 && x_magnitude[1] > 0)
43 return static_cast<int>(computed_dimension);