Thank you for your answers, both methods work fine.

I am also adding new variables to the output, so if I understood Dennis'
answer correctly, I should be using DeepCopy() ? However, using PassData(),
it seems to me the new variable is only added to the output. 

 

Jean-Michel

 

From: Dennis Conklin <[email protected]>

To: Berk Geveci <[email protected]>

Cc: "Paraview \([email protected]\)" <[email protected]>

Subject: Re: [Paraview] [EXT] Re: Customize programmable filters: copy

                arrays

Message-ID:

 
<sn1pr0701mb20295e1986716dd199dfbcf59f...@sn1pr0701mb2029.namprd07.prod.outl
ook.com>

                

Content-Type: text/plain; charset="utf-8"

 

Berk,

 

I generally want to add some new variables to the output ? if I don?t
DeepCopy, then these new variables get added to the input which violates the
vtk rule that a filter can?t change the input.

 

This is the main reason that I advocate adding the capability for PointData
and CellData to be partially DeepCopy (new variables added in Filter)  and
partially ShallowCopy (input variables just along for the ride).

 

I suspect most filters are going to generate new variables, so DeepCopy
seems to be appropriate.     Please correct me if I misunderstand this.

 

Dennis

 

From: Berk Geveci [mailto:[email protected]]

Sent: Tuesday, November 10, 2015 3:40 PM

To: Dennis Conklin <[email protected]>

Cc: Paraview ([email protected]) <[email protected]>

Subject: [EXT] Re: [Paraview] Customize programmable filters: copy arrays

 

Don't use DeepCopy() unless you intend to change the values of the output
arrays. Use ShallowCopy() instead. You don't need CopyStructure() by the
way. Alternatively, you can use PassData(). Something like this:

 

output.GetPointData().PassData(inputs[0].GetPointData())

output.GeCellData().PassData(inputs[0].GetCellData())

 

 

Best,

-berk

 

On Tue, Nov 10, 2015 at 1:49 PM, Dennis Conklin <
<mailto:[email protected]%3cmailto:[email protected]>
[email protected]<mailto:[email protected]>> wrote:

Jean-Michel,

 

I normally just add the following two statements within my Filter:

 

output.CopyStructure(inputs[0].VTKObject)

output.DeepCopy(inputs[0].VTKObject)

 

Dennis

 

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Search the list archives at: http://markmail.org/search/?q=ParaView

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview

Reply via email to