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

Method SetNewBounds

Common/DataModel/vtkKdTree.cxx:989–1039  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

987
988//------------------------------------------------------------------------------
989void vtkKdTree::SetNewBounds(double* bounds)
990{
991 vtkKdNode* kd = this->Top;
992
993 if (!kd)
994 {
995 return;
996 }
997
998 int fixDimLeft[6], fixDimRight[6];
999 int go = 0;
1000
1001 double kdb[6];
1002 kd->GetBounds(kdb);
1003
1004 for (int i = 0; i < 3; i++)
1005 {
1006 int min = 2 * i;
1007 int max = 2 * i + 1;
1008
1009 fixDimLeft[min] = fixDimRight[min] = 0;
1010 fixDimLeft[max] = fixDimRight[max] = 0;
1011
1012 if (kdb[min] > bounds[min])
1013 {
1014 kdb[min] = bounds[min];
1015 go = fixDimLeft[min] = fixDimRight[min] = 1;
1016 }
1017 if (kdb[max] < bounds[max])
1018 {
1019 kdb[max] = bounds[max];
1020 go = fixDimLeft[max] = fixDimRight[max] = 1;
1021 }
1022 }
1023
1024 if (go)
1025 {
1026 kd->SetBounds(kdb[0], kdb[1], kdb[2], kdb[3], kdb[4], kdb[5]);
1027
1028 if (kd->GetLeft())
1029 {
1030 int cutDim = kd->GetDim() * 2;
1031
1032 fixDimLeft[cutDim + 1] = 0;
1033 vtkKdTree::SetNewBounds_(kd->GetLeft(), bounds, fixDimLeft);
1034
1035 fixDimRight[cutDim] = 0;
1036 vtkKdTree::SetNewBounds_(kd->GetRight(), bounds, fixDimRight);
1037 }
1038 }
1039}
1040
1041//------------------------------------------------------------------------------
1042void vtkKdTree::SetNewBounds_(vtkKdNode* kd, double* b, int* fixDim)

Callers 1

Calls 2

GetBoundsMethod · 0.45
SetBoundsMethod · 0.45

Tested by

no test coverage detected