MCPcopy Create free account
hub / github.com/Kitware/VTK / FillOutTree

Method FillOutTree

Filters/Parallel/vtkPKdTree.cxx:2215–2254  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2213#endif
2214
2215int vtkPKdTree::FillOutTree(vtkKdNode* kd, int level)
2216{
2217 if (level == 0)
2218 return 0;
2219
2220 if (kd->GetLeft() == nullptr)
2221 {
2222 vtkKdNode* left = vtkKdNode::New();
2223
2224 if (!left)
2225 goto doneError2;
2226
2227 left->SetBounds(-1, -1, -1, -1, -1, -1);
2228 left->SetDataBounds(-1, -1, -1, -1, -1, -1);
2229 left->SetNumberOfPoints(-1);
2230
2231 vtkKdNode* right = vtkKdNode::New();
2232
2233 if (!right)
2234 goto doneError2;
2235
2236 right->SetBounds(-1, -1, -1, -1, -1, -1);
2237 right->SetDataBounds(-1, -1, -1, -1, -1, -1);
2238 right->SetNumberOfPoints(-1);
2239
2240 kd->AddChildNodes(left, right);
2241 }
2242
2243 if (vtkPKdTree::FillOutTree(kd->GetLeft(), level - 1))
2244 goto doneError2;
2245
2246 if (vtkPKdTree::FillOutTree(kd->GetRight(), level - 1))
2247 goto doneError2;
2248
2249 return 0;
2250
2251doneError2:
2252
2253 return 1;
2254}
2255
2256int vtkPKdTree::ComputeDepth(vtkKdNode* kd)
2257{

Callers

nothing calls this directly

Calls 5

AddChildNodesMethod · 0.80
NewFunction · 0.50
SetBoundsMethod · 0.45
SetDataBoundsMethod · 0.45
SetNumberOfPointsMethod · 0.45

Tested by

no test coverage detected