#include #include #include #include #include #include #include #include #include #include #include #include #include "tutorial_shared_path.h" // 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 bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) { using namespace std; using namespace Eigen; // Plot the original quad mesh if (key == '1') { cout<<"before setting mesh 1"<&, const Eigen::PlainObjectBase&, const Eigen::PlainObjectBase&, Eigen::PlainObjectBase&)> localFunction(igl::shapeup_identity_projection); shapeup_precomputation(VQC, array_of_fours,FQC,E,b,w, localFunction,su_data); cout<<"after pre-computation"<