#include #include #include #include #include #include #include #include #include #include #include #include "tutorial_shared_path.h" // Input mesh Eigen::MatrixXd V; Eigen::MatrixXi F; // Per face bases Eigen::MatrixXd B1,B2,B3; // Face barycenters Eigen::MatrixXd B; // Scale for visualizing the fields double global_scale; // Random length factor double rand_factor = 5; Eigen::VectorXi samples; void readSamples(const std::string &fname, Eigen::VectorXi &samples) { int numSamples; FILE *fp = fopen(fname.c_str(),"r"); if (fscanf(fp, "%d", &numSamples)!=1) { fclose(fp); return; } samples.resize(numSamples,1); int vali; for (int i =0; i'8') return false; viewer.data.lines.resize(0,9); int num = key - '0'; // Interpolate std::cerr << "Interpolating " << num * 2 << "-PolyVector field" << std::endl; VectorXi b(4); b << 4550, 2321, 5413, 5350; MatrixXd bc(b.size(),num*3); for (unsigned i=0; i