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).