boundary_faces.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef IGL_BOUNDARY_FACES_H
  2. #define IGL_BOUNDARY_FACES_H
  3. #include "igl_inline.h"
  4. #ifndef IGL_NO_EIGEN
  5. # include <Eigen/Dense>
  6. #endif
  7. #include <vector>
  8. namespace igl
  9. {
  10. // BOUNDARY_FACES Determine boundary faces of tetrahedra stored in T
  11. //
  12. // Templates:
  13. // IntegerT integer-value: i.e. int
  14. // IntegerF integer-value: i.e. int
  15. // Input:
  16. // T tetrahedron index list, m by 4, where m is the number of tetrahedra
  17. // Output:
  18. // F list of boundary faces, n by 3, where n is the number of boundary faces
  19. //
  20. //
  21. template <typename IntegerT, typename IntegerF>
  22. IGL_INLINE void boundary_faces(
  23. const std::vector<std::vector<IntegerT> > & T,
  24. std::vector<std::vector<IntegerF> > & F);
  25. #ifndef IGL_NO_EIGEN
  26. // Templates:
  27. // DerivedT integer-value: i.e. from MatrixXi
  28. // DerivedF integer-value: i.e. from MatrixXi
  29. template <typename DerivedT, typename DerivedF>
  30. IGL_INLINE void boundary_faces(
  31. const Eigen::PlainObjectBase<DerivedT>& T,
  32. Eigen::PlainObjectBase<DerivedF>& F);
  33. #endif
  34. }
  35. #ifdef IGL_HEADER_ONLY
  36. # include "boundary_faces.cpp"
  37. #endif
  38. #endif