unique_simplices.cpp 510 B

123456789101112131415161718192021222324
  1. #include "unique_simplices.h"
  2. #include "sort.h"
  3. #include "unique.h"
  4. IGL_INLINE void igl::unique_simplices(
  5. const Eigen::MatrixXi & F,
  6. Eigen::MatrixXi & FF)
  7. {
  8. using namespace Eigen;
  9. using namespace igl;
  10. // Sort each face
  11. MatrixXi sortF, unusedI;
  12. igl::sort(F,2,1,sortF,unusedI);
  13. // Find unique faces
  14. VectorXi IA,IC;
  15. MatrixXi C;
  16. igl::unique_rows(sortF,C,IA,IC);
  17. FF.resize(IA.size(),F.cols());
  18. // Copy into output
  19. for(int i = 0;i<IA.rows();i++)
  20. {
  21. FF.row(i) = F.row(IA(i));
  22. }
  23. }