[vtk-developers] curious about ghost stuff

John Biddiscombe j.biddiscombe at rl.ac.uk
Fri Aug 25 05:55:26 EDT 2000


I'm curious about the ghost levels.

For a long time I've been using a BSP tree in place of CellLocator and my
own implementation creates a third node for cells that overlap the split
plane. I've also been looking at parallelizing some of my raytrace code and
one very useful feature of the BSP tree is that spatially separating chunks
of polygons (or other) into leafs which don't touch makes it possible to
direct pieces into different pipelines (not tried this yet) for certain
algorithms which need pieces. Having a third node for overlapping cells
seems to me to be just what you need for tagging ghost cells.

Would this be of interest to you lot?

Two reasons for asking. 

One because it may be just what you need. (In fact I no longer need the
third node because I used it to simplify transparency tests and now I can
do it a different way, so I could remove it).

Secondly because I want to put some of my favourite classes into the public
domain before I leave (if it happens) and I'd like to restructure the
CellLocator stuff so that the class heirarchy was 

vtkAbstractCellLocator->vtkCellLocator
                      ->vtkModifiedBSPTree (mine)
                      ->vtkQuadTree2D      ( " )

alternative cell locators support some basic stuff like IntersectWithLine
and ideally a set of cell finding operations that would be common to _all_
cell locators. CellLocator would not change at all, but would now be
derived from AbstractCellLocator and no-one will notice the difference.

ModifiedBSPTree I've mentioned before and is a 3D tree. QuadTree2D is a
useful one I use when I have large amounts of terrain data and buildings
which are basically a huge planar data set with a bit of 3D on top. Uniform
subdivision in x-y (like a flat CellLocator) makes searches very quick
(finding buildings etc).

Comments?

JB





More information about the vtk-developers mailing list