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

Function vtkShallowCopy

Filters/Parallel/vtkCleanArrays.cxx:30–54  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28}
29
30inline void vtkShallowCopy(vtkDataObject* output, vtkDataObject* input)
31{
32 vtkCompositeDataSet* cdout = vtkCompositeDataSet::SafeDownCast(output);
33 if (cdout == nullptr)
34 {
35 output->ShallowCopy(input);
36 return;
37 }
38
39 // We can't use vtkCompositeDataSet::ShallowCopy() since that simply passes
40 // the leaf datasets without actually shallowcopying them. That doesn't work
41 // in our case since we will be modifying the datasets in the output.
42 vtkCompositeDataSet* cdin = vtkCompositeDataSet::SafeDownCast(input);
43 cdout->CopyStructure(cdin);
44 vtkSmartPointer<vtkCompositeDataIterator> initer;
45 initer.TakeReference(cdin->NewIterator());
46 for (initer->InitTraversal(); !initer->IsDoneWithTraversal(); initer->GoToNextItem())
47 {
48 vtkDataObject* in = initer->GetCurrentDataObject();
49 vtkDataObject* clone = in->NewInstance();
50 clone->ShallowCopy(in);
51 cdout->SetDataSet(initer, clone);
52 clone->FastDelete();
53 }
54}
55
56vtkStandardNewMacro(vtkCleanArrays);
57vtkCxxSetObjectMacro(vtkCleanArrays, Controller, vtkMultiProcessController);

Callers 1

RequestDataMethod · 0.85

Calls 11

FastDeleteMethod · 0.80
ShallowCopyMethod · 0.45
CopyStructureMethod · 0.45
TakeReferenceMethod · 0.45
NewIteratorMethod · 0.45
InitTraversalMethod · 0.45
IsDoneWithTraversalMethod · 0.45
GoToNextItemMethod · 0.45
GetCurrentDataObjectMethod · 0.45
NewInstanceMethod · 0.45
SetDataSetMethod · 0.45

Tested by

no test coverage detected