Thanks!
I’m misunderstanding something though.
I’ve subclassed vtkAbstractPolyDataReader to TopoGridReader, which includes these members:
/// Grid points
vtkSmartPointer<vtkPoints> gridPoints_;
/// Delaunay triangle vertices
vtkSmartPointer<vtkCellArray> gridPolygons_;
My TopoGridReader::RequestData() looks like:
int TopoGridReader::RequestData(vtkInformation* request,
vtkInformationVector** inputVector,
vtkInformationVector* outputVector) {
vtkInformation* outInfo = outputVector->GetInformationObject(0);
vtkDataSet* output = vtkDataSet::GetData(outInfo);
vtkPolyData* polyOutput = vtkPolyData::SafeDownCast(output);
[... populate gridPoints_ and gridPolygons_ …]
// Save to output points and polygons
polyOutput->SetPoints(gridPoints_);
polyOutput->SetPolys(gridPolygons_);
Then when building the pipeline, data from TopoGridReader is rendered as I expect it, but TopoGridReader::GetOutput() seems to indicate 0 points and 0 cells:
gridReader->SetFileName(filename);
gridReader->Update(); // Invokes gridReader->RequestData()
/// DEBUG ////
vtkDataSet* dataset = gridReader_->GetOutput();
vtkCellData* cellData = dataset->GetCellData();
// How many cells in dataset?
qDebug() << "#cells: " << cellData->GetNumberOfArrays();
vtkPointData *pointData = dataset->GetPointData();
// How many points in dataset?
qDebug() << "#points: " << pointData->GetNumberOfArrays();
The debug output shows 0 cells and 0 points. What am I doing wrong here?
#cells: 0
#points: 0
Thanks!