----------------------------------------------------------------------------------------------
| 224 | |
| 225 | //---------------------------------------------------------------------------------------------- |
| 226 | void vtkHyperTreeGridFeatureEdges::RecursivelyProcess3DHTGTree(vtkHyperTreeGrid* input, |
| 227 | vtkPoints* outPoints, vtkCellArray* outCells, vtkHyperTreeGridNonOrientedMooreSuperCursor* cursor) |
| 228 | { |
| 229 | if (cursor->IsLeaf()) |
| 230 | { |
| 231 | auto points = this->Build3DCellPoints(cursor); |
| 232 | for (unsigned int edgeId = 0; edgeId < 12; ++edgeId) |
| 233 | { |
| 234 | if (this->ShouldAddEdge3D(cursor, edgeId)) |
| 235 | { |
| 236 | // Add edge |
| 237 | double pt1[3] = { 0.0 }; |
| 238 | double pt2[3] = { 0.0 }; |
| 239 | points->GetPoint(EDGE_PTS_IDS_3D[edgeId][0], pt1); |
| 240 | points->GetPoint(EDGE_PTS_IDS_3D[edgeId][1], pt2); |
| 241 | this->InsertNewEdge(pt1, pt2, outPoints, outCells, cursor->GetGlobalNodeIndex()); |
| 242 | } |
| 243 | } |
| 244 | |
| 245 | return; |
| 246 | } |
| 247 | |
| 248 | for (unsigned int ichild = 0; ichild < cursor->GetNumberOfChildren(); ++ichild) |
| 249 | { |
| 250 | if (!cursor->IsMasked()) |
| 251 | { |
| 252 | cursor->ToChild(ichild); |
| 253 | this->RecursivelyProcess3DHTGTree(input, outPoints, outCells, cursor); |
| 254 | cursor->ToParent(); |
| 255 | } |
| 256 | } |
| 257 | } |
| 258 | |
| 259 | //---------------------------------------------------------------------------------------------- |
| 260 | bool vtkHyperTreeGridFeatureEdges::ShouldAddEdge2D( |
no test coverage detected