[vtkusers] Please help me use vtkLinearExtrusionFilter

Obada Mahdi omahdi at gmx.de
Sat Jun 24 01:00:56 EDT 2006

Hi Christopher,

I have made an attempt to track down the problem and might have found at 
least the reason.

Christopher Bruns wrote:
>  I get a "Access violation reading location 0x00000000" when attempting 
> to use vtkLinearExtrusionFilter with certain input pipelines, while I 
> can get it to work with others.
>  Presumably I am neglecting to populate part of the input data pipeline 
> correctly.  Can someone please suggest how I might fix my error here?  
> Is there some other filter I need to add?
>  In my debugger the crash appears to occur at line 214 of 
> vtklinearextrusionfilter.cxx in the method RequestData, which contains 
> the statement "outputPD->CopyData(pd,ptId,ptId);"  The variable pd 
> contains input vtkPointData.  Deeper in the stack, 
> pd->Data[0]->GetVoidPointer(0) returns 0x0000000 instead of returning a 
> valid pointer, because  pd->Data[0]->Array is zero as well.

The problem seems to be caused by a small typo in vtkRibbonFilter.cxx 
that leads to some bogus data array entries in the PointData struct, 
messing up the extrusion filter later: There is a line
|  outPD->CopyAllocate(pd,numNewCells);
which should read
|  outCD->CopyAllocate(cd,numNewCells);
(see attached diff).

I was able to perfectly reproduce all the results (and crashes) you 
mentioned with a recent CVS version of VTK, and your test program 
appears to work fine with the above line corrected.

If rebuilding VTK is not an option for you, and you do not need CellData 
to be filtered through, there might be other ways to work around that 
problem and get colored thick ribbons :-)  After all, no point data 
information is destroyed, and you only need to get rid of any bogus 
(empty) data field introduced by vtkRibbonFilter.  For example, writing 
the the output of vtkRibbonFilter to a file (using vtkPolyDataWriter) 
and feeding that same file to vtkExtrusionFilter using a 
vtkPolyDataReader did also work for me.

Good luck :-)

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: vtkRibbonFilter-CopyAllocate-fix.diff
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20060624/5d21920b/attachment.txt>

More information about the vtkusers mailing list