[vtk-developers] Structured data blanking

Berk Geveci berk.geveci at kitware.com
Wed Oct 22 14:11:01 EDT 2003


I have been working on adding support for AMR (adaptive mesh 
refinement) (and multiblock) datasets in VTK. As part of this 
effort, I am improving VTK's blanking functionality.

Here is what I plan to do:

1. Add cell (zone) blanking. Currently, blanking is done using
a visibility array associated with points. A cell is blanked if
any of it's points is blanked. I am adding a second (optional)
visibility array associated with cells.

2. Add support for blanking "regions". It will be possible to
specify a VOI (Volume of Interest, with 6 int values) to be 
blanked. This will allow us to blank regions without the extra 
memory cost of a whole visibility array.

3. Add blanking to image data and rectilinear grid.

4. Add point/cell iterators so that point based filters like
glyph works with blanking. Instead of iterating over points
using a for loop, the filters will be able to use iterators
that can automatically skip over blanked points. I still have 
to discuss this with others since it can potentially impact how 
we write filters in VTK.

So far, I have finished (1) and part of (3) (structured grid
and image data). All filters that access image and structured
data through their dataset interface and operate on cells
should work with blanking.

I have also changed the existing vtkStructuredGrid interface
that controls blanking. I removed:
   int GetBlanking();
   void BlankingOn();
   void BlankingOff();

Blanking is now automatically on whenever there is a blanking 
array. I also renamed:
   vtkUnsignedCharArray *GetPointVisibility();
   void SetPointVisibility(vtkUnsignedCharArray *pointVisibility);
to
   vtkUnsignedCharArray *GetPointVisibilityArray();
   void SetPointVisibilityArray(vtkUnsignedCharArray *pointVisibility);

I will commit my changes tomorrow. Let me know (hopefully before
then) if you have any objections.

-Berk
 





More information about the vtk-developers mailing list