example1.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //
  2. // IGL Lib - Simple C++ mesh library
  3. //
  4. // Copyright 2011, Daniele Panozzo. All rights reserved.
  5. // IMPORTANT DO NOT REMOVE OR MOVE
  6. #define EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
  7. #include <iostream>
  8. #include <string>
  9. #include <igl/read_triangle_mesh.h>
  10. #include <igl/write_triangle_mesh.h>
  11. #include <igl/triangle_triangle_adjacency.h>
  12. #include <igl/edgetopology.h>
  13. using namespace std;
  14. int main (int argc, const char * argv[])
  15. {
  16. Eigen::MatrixXd V;
  17. Eigen::MatrixXi F;
  18. igl::read_triangle_mesh("../shared/TinyTorus.obj",V,F);
  19. std::cout << "Mesh loaded!\n";
  20. cout << "Vertex Array:" << endl;
  21. cout << V << endl;
  22. cout << "-------------" << endl;
  23. cout << "Face Array:" << endl;
  24. cout << F << endl;
  25. cout << "-------------" << endl;
  26. igl::write_triangle_mesh("bunny_out.off",V,F);
  27. // Face Topology
  28. cout << "TT Topology:" << endl;
  29. Eigen::MatrixXi TT;
  30. igl::triangle_triangle_adjacency(V,F,TT);
  31. cout << TT << endl;
  32. cout << "-------------" << endl;
  33. // Edge Topology
  34. cout << "Edge Topology:" << endl;
  35. Eigen::MatrixXi EV;
  36. Eigen::MatrixXi FE;
  37. Eigen::MatrixXi EF;
  38. igl::edgetopology(V,F,EV,FE, EF);
  39. cout << EV << endl << FE << endl << EF << endl;
  40. cout << "-------------" << endl;
  41. return 0;
  42. }