main.cpp 805 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #define IGL_HEADER_ONLY
  2. #include <igl/readOFF.h>
  3. #include <igl/viewer/Viewer.h>
  4. #include <igl/jet.h>
  5. Eigen::MatrixXd V;
  6. Eigen::MatrixXi F;
  7. int main(int argc, char *argv[])
  8. {
  9. // Load a mesh in OFF format
  10. igl::readOFF("../shared/screwdriver.off", V, F);
  11. // Plot the mesh
  12. igl::Viewer viewer;
  13. viewer.set_mesh(V, F);
  14. // Normalize x coordinate between 0 and 1
  15. Eigen::VectorXd value = V.col(0).array() - V.col(0).minCoeff();
  16. value = value.array() / value.maxCoeff();
  17. // Map to colors using jet colorramp
  18. Eigen::MatrixXd C(V.rows(),3);
  19. for (unsigned i=0; i<V.rows(); ++i)
  20. {
  21. double r,g,b;
  22. igl::jet(value(i),r,g,b);
  23. C.row(i) << r,g,b;
  24. }
  25. // Add per-vertex colors
  26. viewer.set_colors(C);
  27. // Launch the viewer
  28. viewer.launch();
  29. }