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

Method RemoveAllDataSetIndices

Common/DataModel/vtkDataAssembly.cxx:848–900  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

846
847//------------------------------------------------------------------------------
848bool vtkDataAssembly::RemoveAllDataSetIndices(int id, bool traverse_subtree /*=true*/)
849{
850 auto& internals = (*this->Internals);
851 auto node = internals.FindNode(id);
852 if (!node)
853 {
854 return false;
855 }
856
857 std::vector<pugi::xml_node> to_remove;
858
859 struct Walker : pugi::xml_tree_walker
860 {
861 std::vector<pugi::xml_node>* ToRemove = nullptr;
862 bool for_each(pugi::xml_node& nnode) override
863 {
864 if (vtkDataAssembly::IsNodeNameReserved(nnode.name()))
865 {
866 this->ToRemove->push_back(nnode);
867 }
868 return true;
869 }
870 };
871
872 if (traverse_subtree)
873 {
874 Walker walker;
875 walker.ToRemove = &to_remove;
876 node.traverse(walker);
877 }
878 else
879 {
880 for (const auto& dschild : node.children(DATASET_NODE_NAME))
881 {
882 to_remove.push_back(dschild);
883 }
884 }
885
886 for (auto& dsnode : to_remove)
887 {
888 dsnode.parent().remove_child(dsnode);
889 }
890
891 if (!to_remove.empty())
892 {
893 this->Modified();
894 return true;
895 }
896 else
897 {
898 return false;
899 }
900}
901
902//------------------------------------------------------------------------------
903int vtkDataAssembly::GetNumberOfChildren(int parent) const

Callers 3

RequestDataMethod · 0.80
RequestDataPDCMethod · 0.80

Calls 8

FindNodeMethod · 0.80
childrenMethod · 0.80
remove_childMethod · 0.80
traverseMethod · 0.45
push_backMethod · 0.45
parentMethod · 0.45
emptyMethod · 0.45
ModifiedMethod · 0.45

Tested by 1

RequestDataPDCMethod · 0.64