18 std::vector<std::vector<size_t >> vertex_subscriptions;
22 vertex_subscriptions.resize(num_verts);
24 for (
auto& vert_sub : vertex_subscriptions)
30 size_t num_tri_faces =
faces_.size();
31 for (
size_t tf=0; tf<num_tri_faces; tf++)
33 auto& try_face =
faces_[tf];
34 for (
int v=0; v<3; ++v)
35 vertex_subscriptions[v].push_back(tf);
39 for (
size_t pf=0; pf<num_poly_faces; pf++)
42 for (
auto v : poly_face->v_indices)
43 vertex_subscriptions[v].push_back(pf);
49 for (
auto curFace :
faces_)
53 int* curface_edge = curFace.e_index[e];
54 int vi = curface_edge[0];
55 int vf = curface_edge[1];
58 for (
auto ofi : vertex_subscriptions[vi])
60 auto& other_face =
faces_[ofi];
62 for (
size_t e2=0;e2<3;e2++)
64 if ( (curface_edge[0]==other_face.e_index[e2][1]) &&
65 (curface_edge[1]==other_face.e_index[e2][0]) )
67 curface_edge[2] = ofi;
74 for (
auto ofi : vertex_subscriptions[vf])
76 auto& other_face =
faces_[ofi];
78 for (
size_t e2=0;e2<3;e2++)
80 if ( (curface_edge[0]==other_face.e_index[e2][1]) &&
81 (curface_edge[1]==other_face.e_index[e2][0]) )
83 curface_edge[2] = ofi;
96 for (
auto& curface_edge : curFace->edges)
98 int vi = curface_edge[0];
99 int vf = curface_edge[1];
102 for (
auto ofi : vertex_subscriptions[vi])
106 for (
size_t e2=0;e2<other_face->edges.size();e2++)
108 if ( (curface_edge[0]==other_face->edges[e2][1]) &&
109 (curface_edge[1]==other_face->edges[e2][0]) )
111 curface_edge[2] = ofi;
112 curface_edge[3] = e2;
118 for (
auto ofi : vertex_subscriptions[vf])
122 for (
size_t e2=0;e2<other_face->edges.size();e2++)
124 if ( (curface_edge[0]==other_face->edges[e2][1]) &&
125 (curface_edge[1]==other_face->edges[e2][0]) )
127 curface_edge[2] = ofi;
128 curface_edge[3] = e2;
std::vector< chi_mesh::PolyFace * > poly_faces_
Polygonal faces.
void UpdateInternalConnectivity()
std::vector< chi_mesh::Vertex > vertices_
std::vector< chi_mesh::Face > faces_