[vtkusers] help with parallel isosurfacing

irena emilova nadjakova ienadjak at midway.uchicago.edu
Wed Aug 15 18:15:04 EDT 2001


Hello all,

I have a problem with isosurfacing unstructured grid data on parallel
processes. My pipeline is set up as:

unstructured grid -> vtkContourFilter -> vtkDecimatePro (all processes)
	-> vtkOutput/Input ports
	(process 0) -> vtkAppendPolyData

The app runs fine unless the isosurface doesn't spacially pass though the
data on one of the processes; that is, one process has a chunk of data
which does not generate an isosurface.

The ouput from running the app is:

------------------

...

ERROR: In vtkDecimatePro.cxx, line 185
vtkDecimatePro (0x81c0970): No data to decimate!

Program received signal SIGSEGV, Segmentation fault.
0x4125bb76 in vtkAttributeData::GetData ()
   from ../vtk3.2/lib/libVTKCommon.so

-------------------

I suppose this is because vtkDecimatePro's Execute() call receives 0
points from vtkContourFilter and so returns without creating vtkPoints for
its output (from the debugger : just before the return,
this->GetOutput->GetPoints() is (nil) ).

Later, vtkDecimatePro's output is vtkAppendPolyData's input and the
vtkAppendPolyData Execute() call tries to access those points (which are
NULL) in
  inPts = ((vtkPolyData *)(this->Inputs[0]))->GetPoints();
  ^^^^^
  newPts = vtkPoints::New(inPts->GetData()->GetDataType());
                          ^^^^^

Does that sound right? Can anybody suggest a solution?

Thanks!
-Irena








More information about the vtkusers mailing list