[vtk-developers] Which class to derive from for filter with	input: PolyData, output: Graph
    David Doria 
    daviddoria+vtk at gmail.com
       
    Wed Nov 11 16:06:28 EST 2009
    
    
  
On Wed, Nov 11, 2009 at 3:58 PM, David E DeMarle
<dave.demarle at kitware.com> wrote:
> That specific error message means that some filter in your program is
> expecting something on one of its inputs, but doesn't have anything
> connected there.
>
> To fix that, find out why nothing is connected to that input in your
> application and fix it.
>
> If the algorithm never takes an input, like for a source, set the
> number of inputs to zero (see vtkConeSource for example.)
>
> If the algorithm can take a source, but doesn't have to, mark the
> input as optional. Search for INPUT_IS_OPTIONAL for examples.
>
> David E DeMarle
This is the simplest case: 1 required input. I know that is the
default for vtkPolyDataAlgorithm so I guess I just assumed it would be
the same for vtkGraphAlgorithm - is it not?
The test code is very simple:
  vtkSmartPointer<vtkXMLPolyDataReader> Reader =
vtkSmartPointer<vtkXMLPolyDataReader>::New();
  Reader->SetFileName("SpherePoints.vtp");
  Reader->Update();
  vtkSmartPointer<vtkNearestNeighborGraph> NearestNeighborGraphFilter
= vtkSmartPointer<vtkNearestNeighborGraph>::New();
  NearestNeighborGraphFilter->SetInput(Reader->GetOutput());
  NearestNeighborGraphFilter->Update();
  //convert the graph to a polydata
  vtkSmartPointer<vtkGraphToPolyData> GraphToPolyData =
vtkSmartPointer<vtkGraphToPolyData>::New();
  GraphToPolyData->SetInput(NearestNeighborGraphFilter->GetOutput());
  GraphToPolyData->Update();
  //write the result to a vtp file
  vtkSmartPointer<vtkXMLPolyDataWriter> Writer =
vtkSmartPointer<vtkXMLPolyDataWriter>::New();
  Writer->SetInput(GraphToPolyData->GetOutput());
  Writer->SetFileName("GraphPolyData.vtp");
  Writer->Write();
As you can see, I have called SetInput on all of the filters except the Reader.
Any more ideas?
Thanks,
David
    
    
More information about the vtk-developers
mailing list