vtkActorToPF

vtkActorToPF allows you to translate any vtkActor to a pfGeode!

The idea is that you can compute geometry using vtk and render using Iris Performer. The advantage of doing so is that there are some things that vtk hasn't been designed for, such as rendering to multiple channels (i.e. multi-headed displays such as the CAVE here at NCSA). Using vtkActorToPF, you can write interactive visualization applications for such environments without much trouble. Performer is a SGI rendering library that also provides other features not found in vtk such as scene-graphs, intersection testing, and visibility culling.

To translate a vtkActor to a pfGeode is extremely simple:

  pfGeode *theGeode = vtkActorToPF(theActor);

To update (re-translate) an existing pfGeode is also simple:

  vtkActorToPF(theActor, theGeode);

The vtkActorToPF function translates the geometry, color information, and properties from a vtkActor and creates (or modifies) a corresponding pfGeode. A pfGeode is a node within the Performer scenegraph.

vtkActorToPFTranslator

The vtkActorToPFTranslator class allows you to a create a translator object such that it knows about a particular vtkActor and a particular pfGeode. Whenever the vtkActor changes, the pfGeode is automatically re-translated (its geosets replaced with newly translated ones). This helps preserve the implicit control of execution model that vtk uses.
diagram

So, you can use either the function or you can create a translator object. If you use only the vtkActorToPF function, then you must explicitly re-translate the pfGeode whenever the vtkActor changes. If you use a vtkActorToPFTranslator object, it automatically registers a callback with Performer that checks to see if the vtkActor has changed, and if so, re-translates the pfGeode before rendering. The source code provided shows both approaches.

read more (from my MS thesis)