15 typename std::enable_if<dm==2, Eigen::Matrix<double,dim,dim> >::type
16 static getMatrix(
const Eigen::Matrix<double,dim,dim-1>& orthogonalVectors)
18 Eigen::Matrix<double,dim,dim> output;
19 output.row(0)= orthogonalVectors.col(0).normalized();
20 output.row(1)=Eigen::Rotation2D<double>(std::numbers::pi/2)*orthogonalVectors.col(0).normalized();
24 typename std::enable_if<dm==3, Eigen::Matrix<double,dim,dim> >::type
25 static getMatrix(
const Eigen::Matrix<double,dim,dim-1>& orthogonalVectors)
27 assert(abs(orthogonalVectors.col(0).dot(orthogonalVectors.col(1))) < FLT_EPSILON);
28 Eigen::Matrix<double,dim,dim> output;
29 output.row(0)= orthogonalVectors.col(0).normalized();
30 output.row(1)= orthogonalVectors.col(1).normalized();
31 output.row(2)= (output.row(0).cross(output.row(1))).normalized();