[vtk-developers] Which class to derive from for filter with input: PolyData, output: Graph

David Doria daviddoria+vtk at gmail.com
Thu Nov 19 13:29:51 EST 2009


On Wed, Nov 11, 2009 at 4:06 PM, David Doria <daviddoria+vtk at gmail.com> wrote:
> 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
>

Does vtkGraphAlgorithm not work basically the same as vtkPolyDataAlgorithm?

Thanks,

David



More information about the vtk-developers mailing list