#include "ears.h" #include "on_boundary.h" #include "find.h" #include "slice.h" #include "mat_min.h" #include template < typename DerivedF, typename Derivedear, typename Derivedear_opp> IGL_INLINE void igl::ears( const Eigen::MatrixBase & F, Eigen::PlainObjectBase & ear, Eigen::PlainObjectBase & ear_opp) { assert(F.cols() == 3 && "F should contain triangles"); Eigen::Array B; { Eigen::Array I; on_boundary(F,I,B); } find(B.rowwise().count() == 2,ear); Eigen::Array Bear; slice(B,ear,1,Bear); Eigen::Array M; mat_min(Bear,2,M,ear_opp); } #ifdef IGL_STATIC_LIBRARY // Explicit template instantiation // generated by autoexplicit.sh template void igl::ears, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); #endif