tt.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. //
  2. // IGL Lib - Simple C++ mesh library
  3. //
  4. // Copyright 2011, Daniele Panozzo. All rights reserved.
  5. #ifndef IGL_TT_H
  6. #define IGL_TT_H
  7. #include "igl_inline.h"
  8. #include <Eigen/Core>
  9. #include <vector>
  10. namespace igl
  11. {
  12. // Preprocessing
  13. template<typename T>
  14. IGL_INLINE void tt_preprocess(const Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>& V, const Eigen::MatrixXi& F, std::vector<std::vector<int> >& TTT);
  15. // Extract the face adjacencies
  16. IGL_INLINE void tt_extractTT(const Eigen::MatrixXi& F, std::vector<std::vector<int> >& TTT, Eigen::MatrixXi& TT);
  17. // Extract the face adjacencies indices (needed for fast traversal)
  18. IGL_INLINE void tt_extractTTi(const Eigen::MatrixXi& F, std::vector<std::vector<int> >& TTT, Eigen::MatrixXi& TTi);
  19. // Compute triangle-triangle adjacency
  20. template<typename T>
  21. IGL_INLINE void tt(const Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>& V, const Eigen::MatrixXi& F, Eigen::MatrixXi& TT);
  22. // Compute triangle-triangle adjacency with indices
  23. template<typename T>
  24. IGL_INLINE void tt(const Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>& V, const Eigen::MatrixXi& F, Eigen::MatrixXi& TT, Eigen::MatrixXi& TTi);
  25. }
  26. #ifdef IGL_HEADER_ONLY
  27. # include "tt.cpp"
  28. #endif
  29. #endif