1 #ifndef DEDGE_H_
2 #define DEDGE_H_
3 
4 #include <Eigen/Core>
5 #include <Eigen/Dense>
6 #include <vector>
7 
8 namespace qflow {
9 
10 using namespace Eigen;
11 
dedge_prev_3(int e)12 inline int dedge_prev_3(int e) { return (e % 3 == 0) ? e + 2 : e - 1; }
dedge_next_3(int e)13 inline int dedge_next_3(int e) { return (e % 3 == 2) ? e - 2 : e + 1; }
14 
15 bool compute_direct_graph(MatrixXd& V, MatrixXi& F, VectorXi& V2E,
16 	VectorXi& E2E, VectorXi& boundary, VectorXi& nonManifold);
17 
18 void compute_direct_graph_quad(std::vector<Vector3d>& V, std::vector<Vector4i>& F, std::vector<int>& V2E,
19                                std::vector<int>& E2E, VectorXi& boundary, VectorXi& nonManifold);
20 
21 void remove_nonmanifold(std::vector<Vector4i> &F, std::vector<Vector3d> &V);
22 
23 } // namespace qflow
24 
25 #endif
26