David,
I have not called filters within the Programmable Filter before and I am not
getting things hooked up correctly. My attempt is attached. Clearly, I do
not understand how to hook the output of 1 filter to the input of the next
because I’m getting to the end and getting something with no blocks and no
cells.
Any hints?
Dennis
From: David E DeMarle [mailto:[email protected]]
Sent: Tuesday, April 10, 2018 10:14 AM
To: Dennis Conklin <[email protected]>
Cc: Paraview ([email protected]) <[email protected]>
Subject: [EXT] Re: [Paraview] vtkPointDataToCellData but only for selected
PointData
WARNING - External email; exercise caution.
The pass arrays filter comes to mind.
If creating withing your python programmable filter it will be called
vtk.vtkPassArrays then follow that with a vtk.vtkPointDataToCellData.
David E DeMarle
Kitware, Inc.
Principal Engineer
21 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4909
On Tue, Apr 10, 2018 at 10:07 AM, Dennis Conklin
<[email protected]<mailto:[email protected]>> wrote:
All,
Well, this list solved my problem so easily (and made me feel slightly less
than the sharpest pencil in the box) yesterday, so I thought I’d try again.
I am doing some Python calcs inside a programmable filter and some of the
results I want to average from the Points onto the Cells. But, I don’t want
all my PointData moved over to CellData – I want to transfer some of them over
within my Filter.
Right now I’m looping thru all the elements and finding all their nodes, then
averaging them and assigning to the cells. It is dog slow and is choking off
the usefulness of this filter.
Is there anything like vtkPointDataToCellData that lets me specify which
quantities to convert – could I do something tricky like store original list of
PointData, make up a new list, then run PointDataToCellData, then restore the
list of PointData ??
I realize this may have all sorts of unexpected side effects, so I’m just
asking!
Thanks again, this group is great!
Dennis
_______________________________________________
Powered by
www.kitware.com<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com&data=01%7C01%7Cdennis_conklin%40goodyear.com%7Ccdd327b7b83443c9224908d59eed5011%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=bFpbI9%2F4eHwIrhf5Sd9f2ynzY%2FvWHiDIlONgpO13J0A%3D&reserved=0>
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html&data=01%7C01%7Cdennis_conklin%40goodyear.com%7Ccdd327b7b83443c9224908d59eed5011%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=mMExlGeMQKwAob7IUdPyH60WLz420BhmCRMs%2Fp8aLf4%3D&reserved=0>
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fparaview.org%2FWiki%2FParaView&data=01%7C01%7Cdennis_conklin%40goodyear.com%7Ccdd327b7b83443c9224908d59eed5011%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=Myi6SWCBnXGSlGEpOScpW0tc83nT6ue%2FjmtzC9G%2FafE%3D&reserved=0>
Search the list archives at:
http://markmail.org/search/?q=ParaView<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkmail.org%2Fsearch%2F%3Fq%3DParaView&data=01%7C01%7Cdennis_conklin%40goodyear.com%7Ccdd327b7b83443c9224908d59eed5011%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=EjvocgHSmoROe1cbBbTsWfGgqv8v1dZM10sKupDOaQQ%3D&reserved=0>
Follow this link to subscribe/unsubscribe:
https://public.kitware.com/mailman/listinfo/paraview<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Fparaview&data=01%7C01%7Cdennis_conklin%40goodyear.com%7Ccdd327b7b83443c9224908d59eed5011%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=tfp1j3M04VCMkOFcmkMdKNLgIKDJUYvgEupl18nNQeE%3D&reserved=0>
import numpy, vtk, scipy
import vtk.numpy_interface.dataset_adapter as dsa
# main routine starts here
output.CopyStructure(inputs[0].VTKObject)
output.DeepCopy(inputs[0].VTKObject)
myArrays=vtk.vtkPassArrays()
myArrays.SetInputDataObject(output.VTKObject)
myArrays.ClearArrays()
myArrays.AddPointDataArray('DISPL')
myArrays.Update()
p2c=vtk.vtkPointDataToCellData()
p2c.SetInputConnection(myArrays.GetOutputPort())
p2c.PassPointDataOn()
p2c_port=p2c.GetOutputPort()
p2c_output=p2c.GetOutputDataObject(0)
iter=dsa.MultiCompositeDataIterator([p2c_output,output])
for p2c_block, output_block in iter:
output_block.CellData.append(p2c_block.CellData['DISPL'],'DISPL')
_______________________________________________
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:
https://public.kitware.com/mailman/listinfo/paraview