[vtkusers] Pipeline Structure Question ?

Sathya Krishnamurthy skrishna at cscs.ch
Tue Dec 12 05:09:00 EST 2000


Hello Everybody

I have a basic question in the pipeline structure of VTK.

My pipeline is setup like this

Reader .. Reader->GetOutput ()->ReleaseDataFlagOn ();
MarchingCubes
PolyDataMapper
Renderer

So, I assumed that Calls from Renderer Goes to PolyDataMapper.
PolyDataMapper requests data to the filter and filter to the Reader. But,
I realized that the PolyDataMapper bypasses the filter and requests the
data directly from the Reader. So the pipeline gets modified like

Renderer->PolyDataMapper (Requests Reader for data)->Reader-> Once this
returns-> MarchingCubes (activates)  (Requests Input for data)-> Reader

So, essentially the data is read twice. I found this after running the
pipeline. Since, the Reader is my own datareader, do I need to have to set
any special flags in it to avoid the first Read. I have added the debug
output from my pipeline, which shows this behaviour.

Another important behaviour I could not understand was
Reader::ExecuteInformation (which reads the header) was executed twice !?

Can someone kindly help me with this problem ?

Thanks a lot

Regards

Sathya

ps: if you need the actual source code of my Reader and the testing
program, I will be very much willing to share with you.


--------Debug Output ---------------

Debug: In vtkImageMarchingCubes.h,
vtkImageMarchingCubes (0x10025fe8):vtkImageMarchingCubes (0x10025fe8): setting InputMemoryLimit to 10000

Debug: In vtkMapper.h, line 136 vtkOpenGLPolyDataMapper (0x10026668):
vtkOpenGLPolyDataMapper (0x10026668): setting ScalarVisibility to 0 

Debug:In vtkObject.cxx, line 189 vtkOpenGLPolyDataMapper (0x10026668):
Registered by vtkOpenGLActor (0x10026b88), ReferenceCount = 2 

vtkPegasus:ExecuteInformation:-
Reading file Header...../t00025850mo_avs.data 
Dimensions of Data...1441 201 221
vtkPegasus:ExecuteInformation:-
Reading file Header...../t00025850mo_avs.data 
Dimensions of Data...1441 201 221

vtkPegasus:Execute:-
Pegasus-Data Extents To Read :0 1440 0 200 0 220 
Pegasus-Update Extents To Read :0 1440 0 200 0 220 
^^^^^^^^^^^^
This part reads the whole dataset !! 

Debug: In vtkImageMarchingCubes.cxx, line 139 vtkImageMarchingCubes
(0x10025fe8): Starting Execute Method 

Debug: In vtkImageMarchingCubes.cxx, line 212 vtkImageMarchingCubes
(0x10025fe8): Execute: NumberOfSlicesPerChunk = 8 

Debug: In vtkImageMarchingCubes.cxx, line 226 vtkImageMarchingCubes
(0x10025fe8): Estimated number of points/triangles: 714752 

Debug: In ./../common/vtkProcessObject.h, line 116 vtkImageMarchingCubes
(0x10025fe8): vtkImageMarchingCubes (0x10025fe8): returning AbortExecute
of 0 

vtkPegasus:Execute:-
Pegasus-Data Extents To Read :0 1440 0 200 4 11 
Pegasus-Update Extents To Read :0 1440 0 200 4 11 
^^^^^^^^^^^^^^^^^^^
Funnily, now MarchingCubes now begins to read the data already read once
??

Debug: In ./../common/vtkProcessObject.h, line 116 vtkImageMarchingCubes
(0x10025fe8): vtkImageMarchingCubes (0x10025fe8): returning AbortExecute
of 0 

vtkPegasus:Execute:-
Pegasus-Data Extents To Read :0 1440 0 200 9 16 
Pegasus-Update Extents To Read :0 1440 0 200 9 16 

Debug: In ./../common/vtkProcessObject.h, line 116 vtkImageMarchingCubes
(0x10025fe8): vtkImageMarchingCubes (0x10025fe8): returning AbortExecute
of 0 






More information about the vtkusers mailing list