ears.h 749 B

123456789101112131415161718192021222324252627
  1. #ifndef IGL_EARS_H
  2. #define IGL_EARS_H
  3. #include "igl_inline.h"
  4. #include <Eigen/Core>
  5. namespace igl
  6. {
  7. /// Find all ears (faces with two boundary edges) in a given mesh
  8. ///
  9. ///
  10. /// @param[in] F #F by 3 list of triangle mesh indices
  11. /// @param[out] ears #ears list of indices into F of ears
  12. /// @param[out] ear_opp #ears list of indices indicating which edge is non-boundary
  13. /// (connecting to flops)
  14. ///
  15. template <
  16. typename DerivedF,
  17. typename Derivedear,
  18. typename Derivedear_opp>
  19. IGL_INLINE void ears(
  20. const Eigen::MatrixBase<DerivedF> & F,
  21. Eigen::PlainObjectBase<Derivedear> & ear,
  22. Eigen::PlainObjectBase<Derivedear_opp> & ear_opp);
  23. }
  24. #ifndef IGL_STATIC_LIBRARY
  25. # include "ears.cpp"
  26. #endif
  27. #endif