sort_triangles.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // This file is part of libigl, a simple c++ geometry processing library.
  2. //
  3. // Copyright (C) 2013 Alec Jacobson <alecjacobson@gmail.com>
  4. //
  5. // This Source Code Form is subject to the terms of the Mozilla Public License
  6. // v. 2.0. If a copy of the MPL was not distributed with this file, You can
  7. // obtain one at http://mozilla.org/MPL/2.0/.
  8. #ifndef IGL_OPENGL2_SORT_TRIANGLES_H
  9. #define IGL_OPENGL2_SORT_TRIANGLES_H
  10. #include "../igl_inline.h"
  11. #include <Eigen/Core>
  12. namespace igl
  13. {
  14. namespace opengl2
  15. {
  16. template <
  17. typename DerivedV,
  18. typename DerivedF,
  19. typename DerivedFF,
  20. typename DerivedI>
  21. IGL_INLINE void sort_triangles(
  22. const Eigen::PlainObjectBase<DerivedV> & V,
  23. const Eigen::PlainObjectBase<DerivedF> & F,
  24. Eigen::PlainObjectBase<DerivedFF> & FF,
  25. Eigen::PlainObjectBase<DerivedI> & I);
  26. template <
  27. typename DerivedV,
  28. typename DerivedF,
  29. typename DerivedFF,
  30. typename DerivedI>
  31. IGL_INLINE void sort_triangles_slow(
  32. const Eigen::PlainObjectBase<DerivedV> & V,
  33. const Eigen::PlainObjectBase<DerivedF> & F,
  34. Eigen::PlainObjectBase<DerivedFF> & FF,
  35. Eigen::PlainObjectBase<DerivedI> & I);
  36. //template <
  37. // typename DerivedV,
  38. // typename DerivedF,
  39. // typename DerivedMV,
  40. // typename DerivedP,
  41. // typename DerivedFF,
  42. // typename DerivedI>
  43. //IGL_INLINE void sort_triangles_robust(
  44. // const Eigen::PlainObjectBase<DerivedV> & V,
  45. // const Eigen::PlainObjectBase<DerivedF> & F,
  46. // const Eigen::PlainObjectBase<DerivedMV> & MV,
  47. // const Eigen::PlainObjectBase<DerivedP> & P,
  48. // Eigen::PlainObjectBase<DerivedFF> & FF,
  49. // Eigen::PlainObjectBase<DerivedI> & I);
  50. //template <
  51. // typename DerivedV,
  52. // typename DerivedF,
  53. // typename DerivedFF,
  54. // typename DerivedI>
  55. //IGL_INLINE void sort_triangles_robust(
  56. // const Eigen::PlainObjectBase<DerivedV> & V,
  57. // const Eigen::PlainObjectBase<DerivedF> & F,
  58. // Eigen::PlainObjectBase<DerivedFF> & FF,
  59. // Eigen::PlainObjectBase<DerivedI> & I);
  60. }
  61. }
  62. #ifndef IGL_STATIC_LIBRARY
  63. # include "sort_triangles.cpp"
  64. #endif
  65. #endif