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

Method GetAllDependenciesAsVTKDataArray

Serialization/Manager/vtkObjectManager.cxx:656–683  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

654
655//------------------------------------------------------------------------------
656vtkSmartPointer<vtkTypeUInt32Array> vtkObjectManager::GetAllDependenciesAsVTKDataArray(
657 vtkTypeUInt32 identifier)
658{
659 auto root = identifier;
660 std::deque<vtkTypeUInt32> traversealDeque;
661 std::unordered_set<vtkTypeUInt32> visited;
662 auto result = vtk::TakeSmartPointer(vtkTypeUInt32Array::New());
663 result->SetNumberOfComponents(1);
664 traversealDeque.push_back(root);
665 while (!traversealDeque.empty())
666 {
667 const auto front = traversealDeque.front();
668 traversealDeque.pop_front();
669 if (visited.insert(front).second &&
670 (front != vtkObjectManager::ROOT())) // avoids placing the 0 in result
671 {
672 result->InsertNextValue(front);
673 }
674 for (auto& dep : this->Context->GetDirectDependencies(front))
675 {
676 if (visited.count(dep) == 0)
677 {
678 traversealDeque.push_back(dep);
679 }
680 }
681 }
682 return result;
683}
684
685//------------------------------------------------------------------------------
686void vtkObjectManager::UpdateObjectsFromStates()

Callers 1

Calls 11

ROOTFunction · 0.85
pop_frontMethod · 0.80
GetDirectDependenciesMethod · 0.80
NewFunction · 0.50
SetNumberOfComponentsMethod · 0.45
push_backMethod · 0.45
emptyMethod · 0.45
frontMethod · 0.45
insertMethod · 0.45
InsertNextValueMethod · 0.45
countMethod · 0.45

Tested by

no test coverage detected