[Paraview] VTK 7.1 and co-processing

Deij-van Rijswijk, Menno M.Deij at marin.nl
Tue Aug 2 06:42:27 EDT 2016


For what it's worth, the problem was caused by the (in this case ill-advised) new use of vtkTemplateTypeMacro, instead of using vtkTypeTemplate<>.
It appears that for classes that inherit from vtkMappedDataArray you need to use this

template <class Scalar>
class MyMapped : public vtkMappedDataArray<Scalar>
{
  vtkAbstractTemplateTypeMacro(MyMapped, vtkMappedDataArray<Scalar>); // don't use vtkTemplateTypeMacro
  vtkMappedDataArrayNewInstanceMacro(MyMapped);
}

Best wishes,


Menno Deij - van Rijswijk




dr. ir. Menno A. Deij-van Rijswijk  | Researcher / Software Engineer | Maritime Simulation & Software Group
MARIN | T +31 317 49 35 06 | mailto:M.Deij at marin.nl | http://www.marin.nl

MARIN news: http://www.marin.nl/web/News/News-items/Joint-Industry-Project-LifeLine-kicks-off.htm

-----Original Message-----
From: ParaView [mailto:paraview-bounces at paraview.org] On Behalf Of Deij-van Rijswijk, Menno
Sent: Tuesday, August 02, 2016 10:10 AM
To: paraview at paraview.org
Subject: [Paraview] VTK 7.1 and co-processing

Hi,

Recently I started upgrading our co-processing code to the latest paraview/VTK version. After having to modify our mapped data array classes to support the new *TypedTuple API, I run into the problem that these mapped data arrays are read-only. In the past this was no problem, but now I get errors because the pipeline tries to modify the read-only data arrays.

Parts of the stack-trace include this:

/libvtkCommonDataModel-pv5.1.so.1 : vtkDataSetAttributes::InternalCopyAllocate(vtkDataSetAttributes*, int, long long, long long, int)+0x1d2
/libvtkFiltersGeometry-pv5.1.so.1 : vtkDataSetSurfaceFilter::UnstructuredGridExecute(vtkDataSet*, vtkPolyData*)+0x4b7
/libvtkFiltersGeometry-pv5.1.so.1 : vtkDataSetSurfaceFilter::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*)+0x107

And this

/lib/libvtkCommonDataModel-pv5.1.so.1 : vtkDataSetAttributes::CopyData(vtkDataSetAttributes*, long long, long long)+0x6a
/lib/libvtkFiltersGeometry-pv5.1.so.1 : vtkDataSetSurfaceFilter::UnstructuredGridExecute(vtkDataSet*, vtkPolyData*)+0x173f
/lib/libvtkFiltersGeometry-pv5.1.so.1 : vtkDataSetSurfaceFilter::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*)+0x107

I could really use some guidance on how to modify our co-processing code to make use of the new paraview/VTK version and API.
I have to say I am somewhat surprised to see this go wrong all of a sudden.

Thanks and best wishes,


Menno Deij – van Rijswijk



dr. ir. Menno A. Deij-van Rijswijk  | Researcher / Software Engineer | Maritime Simulation & Software Group MARIN | T +31 317 49 35 06 | mailto:M.Deij at marin.nl | http://www.marin.nl

MARIN news: http://www.marin.nl/web/News/News-items/MARIN-Report-118-Renewable-energy-and-sustainable-ships.htm

_______________________________________________
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


More information about the ParaView mailing list