Thanks, Utkarsh.
I can certainly adopt the interface vtkDataReader requires. However,
vtkDataReader and its subclasses are VTK internal structures, i.e. they
cannot be positioned as plugins, as I discovered. (what shall be the
correct/formal wording on this phenomenon?). So I guess I have to use
vtkXXXAlgorithm in order to produce a run-time plugin, right?
I was hoping to write the reader reading in both the header/metadata
before I click apply and then the heavy data after I click apply. The
hit apply, RequestInformation() is certainly called. And WHOLD_EXTENT()
is populated within RequestInformation() and I verified WHOLE_EXTENT()
right after RequestInformation() is called as well.
Any suggestions? Oh, I did put 0 to NumberOfInputPorts.
Best,
x
On 1/21/2011 3:32 PM, Utkarsh Ayachit wrote:
vtkStructuredGridReader is a vtkDataReader subclass. So, unless you
are writing a reader that reads a file similar to the legacy VTK
files, I'd simply subclass vtkStructuredGridAlgorithm making sure that
you set the NumberOfInputPorts to 0 in the constructor of your
subclass.
The information widget will only show any fields after you've hit
apply. Does it still now show anything? Is so, try putting a break
point in your RequestData() function, is that being called? Are you
producing valid data there? You might always want to verify that you
are reporting correct WHOLE_EXTENT() etc. in the RequestInformation
function.
Utkarsh.
On Sat, Jan 15, 2011 at 5:43 PM, Xunlei Wu<xun...@renci.org> wrote:
Hi David and all,
I am writing a reader plugin for ParaView. A test program without the VTK
wrapping approves that I can get all the header (metadata) and grid data
correctly. However, when I following the examples posted in
http://www.vtk.org/Wiki/ParaView/Examples/Plugins/Reader
http://www.kitware.com/products/html/WritingAParaViewReaderPlug-in.html
and vtkStructuredGridReader.h/.cxx
I got confused. Shall I subclass vtkStructuredGridAlgorithm or
vtkStructuredGridReader? What are the differences? With minor differences in
the code, i.e. defining char* FileName, I have both scenarios built fine.
Let's say, we are subclassing vtkStructuredGridAlgorithm for now on. After I
populate values as the following
int vtkGRIB2Reader::RequestInformation(vtkInformation* vtkNotUsed(request),
vtkInformationVector**
vtkNotUsed(inputVector),
vtkInformationVector *outputVector)
{
...
vtkInformation* outInfo = outputVector->GetInformationObject(0);
outInfo->Set(vtkStreamingDemandDrivenPipeline::WHOLE_EXTENT(), ext, 6);
outInfo->Set(vtkDataObject::SPACING(), this->Spacing, 3);
outInfo->Set(vtkDataObject::ORIGIN(), this->Origin, 3);
return 1;
}
In ParaView Object Inspector / Information widget, I did not see any update in
all the fields except Statistics / Type: Structured (Curvilinear) Grid. Would
you please help me? Did I populate outInof in the wrong place? Thanks a lot.
Best,
xunlei
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview