<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"><div>Say we have a vtk pipeline:</div><div><br></div><div style="color: rgb(0, 0, 0); font-size: 13px; font-family: arial, helvetica, sans-serif; background-color: transparent; font-style: normal;">InputData -> Filter1 -> Filter2 -> OutputData</div><div style="color: rgb(0, 0, 0); font-size: 13px; font-family: arial, helvetica, sans-serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 13px; font-family: arial, helvetica, sans-serif; background-color: transparent; font-style: normal;">and we don't want to keep track of the inputs or filters once the outputdata has been produced, but would like to pass around OutputData as though it were an independent object. In the past, (vtk 4) we had used the following:</div><div style="color: rgb(0, 0, 0); font-size: 13px; font-family:
 arial, helvetica, sans-serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 13px; font-family: arial, helvetica, sans-serif; background-color: transparent; font-style: normal;">Filter2->Update();</div><div style="color: rgb(0, 0, 0); font-size: 13px; font-family: arial, helvetica, sans-serif; background-color: transparent; font-style: normal;">OuputData->Register(NULL); // increment reference count</div><div style="color: rgb(0, 0, 0); font-size: 13px; font-family: arial, helvetica, sans-serif; background-color: transparent; font-style: normal;">OutputData->SetSource(NULL); // remove old source (decrements reference count)</div><div style="color: rgb(0, 0, 0); font-size: 13px; font-family: arial, helvetica, sans-serif; background-color: transparent; font-style: normal;">Filter2->Delete();</div>Filter1->Delete();<div>InputData->Delete();<br></div><div><br></div><div>It seems
 like the vtk 6 equivalent is the following?</div><div><br></div><div><div style="background-color: transparent;">Filter2->Update();</div><div style="background-color: transparent;">OuputData = vtkDataSet::New(); // make new object of desired type</div><div style="background-color: transparent;">OutputData->ShallowCopy(Filter2->GetOutputPort()); // shallow copy filter output</div><div style="background-color: transparent;">Filter2->Delete();</div>Filter1->Delete();<div>InputData->Delete();</div><div><br></div><div>Is this correct? Are there any cases where DeepCopy would be needed?</div><div><br></div><div>thanks for your help!</div><div>-Alethea</div></div></div></body></html>