#include #include #include #include #include #include #include #include #include #include #include // Quad mesh loaded Eigen::MatrixXd VQC; Eigen::MatrixXi FQC; Eigen::MatrixXi E; Eigen::MatrixXi FQCtri; Eigen::MatrixXd PQC0, PQC1, PQC2, PQC3; // Euclidean-regular quad mesh Eigen::MatrixXd VQCregular; Eigen::MatrixXi FQCtriregular; Eigen::MatrixXd PQC0regular, PQC1regular, PQC2regular, PQC3regular; igl::ShapeupData su_data; // Scale for visualizing the fields double global_scale; //TODO: not used void quadAngleRegularity(const Eigen::MatrixXd& V, const Eigen::MatrixXi& Q, Eigen::VectorXd& angleRegularity) { angleRegularity.conservativeResize(Q.rows()); angleRegularity.setZero(); for (int i=0;i