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