59 #ifndef vtk_m_worklet_contourtree_augmented_mesh_boundary_mesh_boundary_3d_h
60 #define vtk_m_worklet_contourtree_augmented_mesh_boundary_mesh_boundary_3d_h
73 namespace contourtree_augmented
102 return (pos[0] == 0) || (pos[1] == 0) || (pos[2] == 0) ||
114 bool prevWasInUpperLink =
false;
117 const int N_INCIDENT_EDGES_2D = 6;
118 for (
vtkm::Id edgeNo = 0; edgeNo < N_INCIDENT_EDGES_2D; edgeNo++)
122 VTKM_ASSERT(meshIndex - strides[1] - strides[0] >= 0);
155 bool currIsInUpperLink = (nbrSortIndex > sortIndex);
156 numComponents += (edgeNo != 0 && currIsInUpperLink != prevWasInUpperLink) ? 1 : 0;
158 return numComponents;
170 if ((pos[1] == 0) || (pos[0] == 0) || (pos[2] == 0) ||
172 (pos[0] == this->MeshStructure.MeshSize[0] - 1) ||
173 (pos[2] == this->MeshStructure.MeshSize[2] - 1))
177 bool atQuadCorner = (pos[1] == 0 && atEndOfLine) ||
179 if ((pos[2] == 0 && atQuadCorner) ||
189 if ((pos[1] == 0 && pos[2] == 0) ||
199 return (sortIndex < sp && sortIndex < sn) || (sortIndex > sp && sortIndex > sn);
202 else if ((pos[0] == 0 && pos[2] == 0) ||
212 this->SortIndicesPortal.GetNumberOfValues());
214 return (sortIndex < sp && sortIndex < sn) || (sortIndex > sp && sortIndex > sn);
217 else if ((pos[1] == 0 && pos[0] == 0) ||
227 return (sortIndex < sp && sortIndex < sn) || (sortIndex > sp && sortIndex > sn);