8#ifndef IGL_TRIANGLE_TRIANGLE_ADJACENCY_H 
    9#define IGL_TRIANGLE_TRIANGLE_ADJACENCY_H 
   40  template <
typename DerivedF, 
typename DerivedTT, 
typename DerivedTTi>
 
   42    const Eigen::MatrixBase<DerivedF>& F,
 
   43    Eigen::PlainObjectBase<DerivedTT>& TT,
 
   44    Eigen::PlainObjectBase<DerivedTTi>& TTi);
 
   46  template <
typename DerivedF, 
typename DerivedTT>
 
   48    const Eigen::MatrixBase<DerivedF>& F,
 
   49    Eigen::PlainObjectBase<DerivedTT>& TT);
 
   56  template <
typename DerivedF, 
typename TTT_type>
 
   58    const Eigen::MatrixBase<DerivedF>& F,
 
   59    std::vector<std::vector<TTT_type> >& TTT);
 
   68  template <
typename DerivedF, 
typename TTT_type, 
typename DerivedTT>
 
   70    const Eigen::MatrixBase<DerivedF>& F,
 
   71    std::vector<std::vector<TTT_type> >& TTT,
 
   72    Eigen::PlainObjectBase<DerivedTT>& TT);
 
   81  template <
typename DerivedF, 
typename TTT_type, 
typename DerivedTTi>
 
   83    const Eigen::MatrixBase<DerivedF>& F,
 
   84    std::vector<std::vector<TTT_type> >& TTT,
 
   85    Eigen::PlainObjectBase<DerivedTTi>& TTi);
 
  100      const Eigen::MatrixBase<DerivedF> & F,
 
  101      std::vector<std::vector<std::vector<TTIndex> > > & TT,
 
  102      std::vector<std::vector<std::vector<TTiIndex> > > & TTi);
 
  104  template < 
typename DerivedF, 
typename TTIndex>
 
  106      const Eigen::MatrixBase<DerivedF> & F,
 
  107      std::vector<std::vector<std::vector<TTIndex> > > & TT);
 
  117      const Eigen::MatrixBase<DerivedF> & F,
 
  118      const bool construct_TTi,
 
  119      std::vector<std::vector<std::vector<TTIndex> > > & TT,
 
  120      std::vector<std::vector<std::vector<TTiIndex> > > & TTi);
 
  133    typename DerivedEMAP,
 
  138      const Eigen::MatrixBase<DerivedE> & E,
 
  139      const Eigen::MatrixBase<DerivedEMAP> & EMAP,
 
  140      const std::vector<std::vector<uE2EType > > & uE2E,
 
  141      const bool construct_TTi,
 
  142      std::vector<std::vector<std::vector<TTIndex> > > & TT,
 
  143      std::vector<std::vector<std::vector<TTiIndex> > > & TTi);
 
  152    typename DerivedEMAP,
 
  158    const Eigen::MatrixBase<DerivedEMAP> & EMAP,
 
  159    const Eigen::MatrixBase<DeriveduEC> & uEC,
 
  160    const Eigen::MatrixBase<DeriveduEE> & uEE,
 
  161    const bool construct_TTi,
 
  162    std::vector<std::vector<std::vector<TTIndex> > > & TT,
 
  163    std::vector<std::vector<std::vector<TTiIndex> > > & TTi);
 
  166#ifndef IGL_STATIC_LIBRARY 
  167#  include "triangle_triangle_adjacency.cpp" 
#define IGL_INLINE
Definition igl_inline.h:15
 
void triangle_triangle_adjacency_extractTT(const Eigen::MatrixBase< DerivedF > &F, std::vector< std::vector< TTT_type > > &TTT, Eigen::PlainObjectBase< DerivedTT > &TT)
Extract the face adjacencies for triangle_triangle_adjacency.
 
void triangle_triangle_adjacency_extractTTi(const Eigen::MatrixBase< DerivedF > &F, std::vector< std::vector< TTT_type > > &TTT, Eigen::PlainObjectBase< DerivedTTi > &TTi)
Extract the face adjacencies indices for triangle_triangle_adjacency.
 
void triangle_triangle_adjacency_preprocess(const Eigen::MatrixBase< DerivedF > &F, std::vector< std::vector< TTT_type > > &TTT)
Preprocessing for triangle_triangle_adjacency.
 
void triangle_triangle_adjacency(const Eigen::MatrixBase< DerivedF > &F, Eigen::PlainObjectBase< DerivedTT > &TT, Eigen::PlainObjectBase< DerivedTTi > &TTi)
Constructs the triangle-triangle adjacency matrix for a given mesh (V,F).