[vtkusers] Please help me use vtkLinearExtrusionFilter

Mathieu Malaterre mathieu.malaterre at kitware.com
Mon Jun 26 15:46:26 EDT 2006


Obada,

   Very nice catch! Could you please open a bug report for that, simply go to :

http://vtk.org/Bug

  Attach your patch and assign it to me.

Thanks !
Mathieu
> 
> 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 :-)
> 
> Obada
> 
> 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: vtkRibbonFilter-CopyAllocate-fix.diff
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20060626/5e8c04ea/attachment.txt>
-------------- next part --------------
_______________________________________________
This is the private VTK discussion list. 
Please keep messages on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers



More information about the vtkusers mailing list