#include #include #include #include #include #include #include #include // Input mesh Eigen::MatrixXd V; Eigen::MatrixXi F; // Face barycenters Eigen::MatrixXd B; // Scale for visualizing the fields double global_scale; // Input constraints Eigen::VectorXi isConstrained; std::vector constraints; bool key_down(igl::Viewer& viewer, unsigned char key, int modifier) { using namespace std; using namespace Eigen; if (key <'1' || key >'4') return false; viewer.clear_mesh(); viewer.set_mesh(V, F); viewer.options.show_lines = false; viewer.options.show_texture = false; int num = key - '0'; // Interpolate cerr<<"Interpolating for n = "<(); constraints[n] = temp.block(0,1,temp.rows(),temp.cols()-1); } igl::Viewer viewer; // Plot the original mesh with a texture parametrization key_down(viewer,'1',0); // Launch the viewer viewer.callback_key_down = &key_down; viewer.launch(); }