Hello all,

I am writing a pvpython script which takes a pvd, applies an integrate variables filter, then uses a programmable filter to scale out the length, area, or volume (depending on whether the data is 1,2, or 3d) from each of the point data, then finally applies a plot selection over time filter to the result. It works fine most of the time, but occasionally the programmable filter gives the following error:

Traceback (most recent call last):
  File "<string>", line 26, in <module>
  File "<string>", line 23, in RequestData
File "/Applications/ParaView.app/Contents/Python/paraview/vtk/dataset_adapter.py", line 196, in append
    arr = numpyTovtkDataArray(narray, name)
File "/Applications/ParaView.app/Contents/Python/paraview/vtk/dataset_adapter.py", line 53, in numpyTovtkDataArray
    vtkarray = numpy_support.numpy_to_vtk(array)
File "/Applications/ParaView.app/Contents/Python/paraview/numpy_support.py", line 160, in numpy_to_vtk
    result_array.SetVoidArray(z_flat, len(z_flat), 1)
TypeError: argument 1: value is _c_A
W5@k5?, required type is void_p

The error is occurring in the last line of the script which is below. I'm not sure where to start looking for problems since the data I am using seems fine. Any suggestions? Thanks!

All the best
Colin


        script = "inp = inputs[0]\n" + \
                 "#Determine length, area, or volume\n" + \
                 "lav = ['Length','Area','Volume']\n" + \
                 "if not inp.GetCellData() is None:\n" + \
                 "    if inp.GetCellData().GetNumberOfArrays() > 0:\n" + \
" for CellArrayIdx in range(0,inp.GetCellData().GetNumberOfArrays()):\n" + \ " data = inp.GetCellData().GetArray(CellArrayIdx)\n" + \ " name = inp.GetCellData().GetArrayName(CellArrayIdx)\n" + \
                 "            if name in lav:\n" + \
                 "                LAV = data.GetTuple(0)[0]\n" + \
                 "#Scale point data by LAV\n" + \
                 "npa = inp.GetPointData().GetNumberOfArrays()\n" + \
                 "nams= [0]*npa\n" + \
                 "if not inp.GetPointData() is None:\n" + \
                 "    if inp.GetPointData().GetNumberOfArrays() > 0:\n" + \
" for PointArrayIdx in range(0,inp.GetPointData().GetNumberOfArrays()):\n" + \ " name = inp.GetPointData().GetArrayName(PointArrayIdx)\n" + \
                 "            nams[PointArrayIdx] = name\n" + \
                 "for n in nams:\n" + \
                 "    data = inp.PointData[n]\n" + \
                 "    print n,LAV,data\n" + \
                 "    output.PointData.append(data/LAV,n)"


--
Colin McAuliffe
PhD Candidate
Columbia University
Department of Civil Engineering and Engineering Mechanics
_______________________________________________
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

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview

Reply via email to