bfs_orient.h 661 B

1234567891011121314151617181920212223242526272829
  1. #ifndef IGL_BFS_ORIENT_H
  2. #define IGL_BFS_ORIENT_H
  3. #include <Eigen/Core>
  4. #include <igl/igl_inline.h>
  5. namespace igl
  6. {
  7. // Consistently orient faces in orientable patches using BFS
  8. //
  9. // F = bfs_orient(F,V);
  10. //
  11. // Inputs:
  12. // F #F by 3 list of faces
  13. // Outputs:
  14. // FF #F by 3 list of faces (OK if same as F)
  15. // C #F list of component ids
  16. //
  17. //
  18. template <typename DerivedF, typename DerivedFF, typename DerivedC>
  19. void bfs_orient(
  20. const Eigen::PlainObjectBase<DerivedF> & F,
  21. Eigen::PlainObjectBase<DerivedFF> & FF,
  22. Eigen::PlainObjectBase<DerivedC> & C);
  23. };
  24. #ifdef IGL_HEADER_ONLY
  25. # include "bfs_orient.cpp"
  26. #endif
  27. #endif