In a reader plugin for unstructured grids, after the plugin opens a file,
and paraview calls RequestData for the first time, I initialize the grid
like:

 vtkInformation* outInfo = outputVector->GetInformationObject(0);
 vtkDataSet* output = vtkDataSet::GetData(outInfo);
 vtk_grid = vtkUnstructuredGrid::SafeDownCast(output);

  vtk_grid->Initialize();
  vtk_grid->Allocate(0);
  vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
  vtk_grid->SetPoints(points);
  // create grid points, cells..
  // load cell data fields (the user can control this via the plugin
interface)

If the user then decides to load/unload some fields, I would like to reuse
the loaded points and cells, and just update/add/remove fields.

The problem comes when in subsequent calls to RequestData:

  vtkInformation* outInfo = outputVector->GetInformationObject(0);
  vtkDataSet* output = vtkDataSet::GetData(outInfo);

  // this asserts works:
  assert(old_vtk_grid == vtkUnstructuredGrid::SafeDownCast(output));
 // this assert fails: the number of points is 0..
  assert(old_number_of_points == vtk_grid->GetNumberOfPoints());
  // this produces a segmentation fault
  assert(old_number_of_cells == vtk_grid->GetCells()->GetNumberOfCells());

That is, even tho the grid pointer that gets passed to RequestData points
to the same memory as before, it seems that the grid is "empty" (number of
points is 0).

Is there a way to preserve the grid state between calls to RequestData?

Bests,
Gonzalo

-- 
Dipl.-Ing. Gonzalo Brito Gadeschi
Institute of Aerodynamics and Chair of Fluid Mechanics
RWTH Aachen University
Wuellnerstraße 5a
D-52062 Aachen
Germany
Phone: ++49-(0)241-80-94821
Fax: ++49-(0)241-80-92257
E-mail:  [email protected]
Internet: www.aia.rwth-aachen.de
_______________________________________________
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