Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkIceTRenderManager Class Reference

The Image Composition Engine for Tiles (ICE-T) component for VTK. More...

#include <vtkIceTRenderManager.h>

List of all members.

[NOHEADER]

virtual vtkPerspectiveTransform * GetTileViewportTransform ()
virtual void SetTileViewportTransform (vtkPerspectiveTransform *arg)
vtkPerspectiveTransform * TileViewportTransform

Public Types

enum  StrategyType {
  DEFAULT, REDUCE, VTREE, SPLIT,
  SERIAL, DIRECT
}
enum  ComposeOperationType { ComposeOperationClosest = 0, ComposeOperationOver = 1 }

Public Member Functions

 vtkTypeRevisionMacro (vtkIceTRenderManager, vtkParallelRenderManager)
virtual void PrintSelf (ostream &os, vtkIndent indent)
virtual vtkRenderer * MakeRenderer ()
virtual void SetController (vtkMultiProcessController *controller)
virtual void SetRenderWindow (vtkRenderWindow *renwin)
virtual double GetRenderTime ()
virtual double GetImageProcessingTime ()
virtual double GetBufferReadTime ()
virtual double GetBufferWriteTime ()
virtual double GetCompositeTime ()
virtual void SetSortingKdTree (vtkPKdTree *tree)
virtual void SetDataReplicationGroup (vtkIntArray *group)
virtual void SetDataReplicationGroupColor (int color)
virtual void RecordIceTImage (vtkIceTRenderer *)
virtual void ForceImageWriteback ()
virtual void SetTileDimensions (int tilesX, int tilesY)
void SetTileDimensions (int dims[2])
virtual int * GetTileDimensions ()
virtual void GetTileDimensions (int &, int &)
virtual void GetTileDimensions (int[2])
virtual int GetTileRank (int x, int y)
virtual void SetTileRank (int x, int y, int rank)
virtual void SetStrategy (int strategy)
virtual void SetStrategy (const char *strategy)
void SetStrategyToDefault ()
void SetStrategyToReduce ()
void SetStrategyToVtree ()
void SetStrategyToSplit ()
void SetStrategyToSerial ()
void SetStrategyToDirect ()
virtual void SetComposeOperation (int operation)
void SetComposeOperationToClosest ()
void SetComposeOperationToOver ()

Static Public Member Functions

vtkIceTRenderManagerNew ()

Protected Member Functions

 vtkIceTRenderManager ()
virtual ~vtkIceTRenderManager ()
virtual void UpdateIceTContext ()
virtual void SendWindowInformation ()
virtual void ReceiveWindowInformation ()
virtual void SendRendererInformation (vtkRenderer *)
virtual void ReceiveRendererInformation (vtkRenderer *)
virtual void PreRenderProcessing ()
virtual void PostRenderProcessing ()
virtual void ComputeTileViewportTransform ()
virtual int ImageReduceRenderer (vtkRenderer *)
void GetGlobalViewport (int viewport[4])
void GetTileViewport (int x, int y, int viewport[4])

Protected Attributes

int ContextDirty
vtkTimeStamp ContextUpdateTime
int TileDimensions [2]
int ** TileRanks
int TilesDirty
int CleanScreenWidth
int CleanScreenHeight
double LastKnownImageReductionFactor
vtkCommand * RecordIceTImageCallback
vtkCommand * FixRenderWindowCallback
vtkDoubleArray * LastViewports
vtkUnsignedCharArray * InflateImageBuffer


Detailed Description

The Image Composition Engine for Tiles (ICE-T) component for VTK.

A ParallelRenderManager object that uses the ICE-T library for compositing. As such, it offers the capability of rendering to tiled displays. By default, it renders to a single tile located on the processor with rank 0. That is, it mimics the operation of other vtkParallelRenderManagers such as vtkCompositeRenderManager.

Attention:
In order for vtkIceTRenderManager class to composite images, it needs to be used in conjunction with a vtkIceTRenderer. You can have multiple vtkIceTRenderers and they will correctly composite so long as they do not overlap. If there are not vtkIceTRenderers attached to the render window, a warning is issued. Creating a vtkRenderer with the MakeRenderer method (which you should do with any vtkParallelRenderManager) will ensure that the correct renderer is used. You can also mix composited and non-composited viewports by adding regular vtkRenderers for the non-composited parts. The non IceT renderers can overlap each other or the IceT renderers. However, the non-IceT renderers must be on a higher level than all the IceT renderers.

Due to current limitations of the ICE-T API, only an instance of vtkMPIController will be accepted for a vtkMultiProcessController. This restriction may or may not be lifted in the future based on demand.

See also:
vtkIceTRenderer

Definition at line 61 of file vtkIceTRenderManager.h.


Member Enumeration Documentation

enum vtkIceTRenderManager::StrategyType
 

Enumeration values:
DEFAULT 
REDUCE 
VTREE 
SPLIT 
SERIAL 
DIRECT 

Definition at line 103 of file vtkIceTRenderManager.h.

enum vtkIceTRenderManager::ComposeOperationType
 

Enumeration values:
ComposeOperationClosest 
ComposeOperationOver 

Definition at line 122 of file vtkIceTRenderManager.h.


Constructor & Destructor Documentation

vtkIceTRenderManager::vtkIceTRenderManager  )  [protected]
 

virtual vtkIceTRenderManager::~vtkIceTRenderManager  )  [protected, virtual]
 


Member Function Documentation

vtkIceTRenderManager* vtkIceTRenderManager::New  )  [static]
 

vtkIceTRenderManager::vtkTypeRevisionMacro vtkIceTRenderManager  ,
vtkParallelRenderManager 
 

virtual void vtkIceTRenderManager::PrintSelf ostream &  os,
vtkIndent  indent
[virtual]
 

virtual vtkRenderer* vtkIceTRenderManager::MakeRenderer  )  [virtual]
 

virtual void vtkIceTRenderManager::SetController vtkMultiProcessController *  controller  )  [virtual]
 

virtual void vtkIceTRenderManager::SetRenderWindow vtkRenderWindow *  renwin  )  [virtual]
 

virtual void vtkIceTRenderManager::SetTileDimensions int  tilesX,
int  tilesY
[virtual]
 

Methods to set the characteristics of the tiled display. Currently, only an even grid is supported. Numbering of tiles is 0 based. Tiles in the X direction (horizontal) are numbered from left to right. Tiles in the Y direction (vertical) are numbered from top to bottom.

void vtkIceTRenderManager::SetTileDimensions int  dims[2]  )  [inline]
 

Methods to set the characteristics of the tiled display. Currently, only an even grid is supported. Numbering of tiles is 0 based. Tiles in the X direction (horizontal) are numbered from left to right. Tiles in the Y direction (vertical) are numbered from top to bottom.

Definition at line 81 of file vtkIceTRenderManager.h.

virtual int* vtkIceTRenderManager::GetTileDimensions  )  [virtual]
 

Methods to set the characteristics of the tiled display. Currently, only an even grid is supported. Numbering of tiles is 0 based. Tiles in the X direction (horizontal) are numbered from left to right. Tiles in the Y direction (vertical) are numbered from top to bottom.

virtual void vtkIceTRenderManager::GetTileDimensions int &  ,
int & 
[virtual]
 

Methods to set the characteristics of the tiled display. Currently, only an even grid is supported. Numbering of tiles is 0 based. Tiles in the X direction (horizontal) are numbered from left to right. Tiles in the Y direction (vertical) are numbered from top to bottom.

virtual void vtkIceTRenderManager::GetTileDimensions int  [2]  )  [virtual]
 

Methods to set the characteristics of the tiled display. Currently, only an even grid is supported. Numbering of tiles is 0 based. Tiles in the X direction (horizontal) are numbered from left to right. Tiles in the Y direction (vertical) are numbered from top to bottom.

virtual int vtkIceTRenderManager::GetTileRank int  x,
int  y
[virtual]
 

Methods to set/get which processes is desplaying which tiles. Currently, only an even grid is supported. Numbering of tiles is 0 based. Tiles in the X direction (horizontal) are numbered from left to right. Tiles in the Y direction (vertical) are numbered from top to bottom.

virtual void vtkIceTRenderManager::SetTileRank int  x,
int  y,
int  rank
[virtual]
 

Methods to set/get which processes is desplaying which tiles. Currently, only an even grid is supported. Numbering of tiles is 0 based. Tiles in the X direction (horizontal) are numbered from left to right. Tiles in the Y direction (vertical) are numbered from top to bottom.

virtual double vtkIceTRenderManager::GetRenderTime  )  [virtual]
 

virtual double vtkIceTRenderManager::GetImageProcessingTime  )  [virtual]
 

virtual double vtkIceTRenderManager::GetBufferReadTime  )  [virtual]
 

virtual double vtkIceTRenderManager::GetBufferWriteTime  )  [virtual]
 

virtual double vtkIceTRenderManager::GetCompositeTime  )  [virtual]
 

virtual void vtkIceTRenderManager::SetStrategy int  strategy  )  [virtual]
 

Methods to set the strategy for all IceT renderers. The REDUCE strategy, which is also the default, is a good all-around strategy.

virtual void vtkIceTRenderManager::SetStrategy const char *  strategy  )  [virtual]
 

Methods to set the strategy for all IceT renderers. The REDUCE strategy, which is also the default, is a good all-around strategy.

void vtkIceTRenderManager::SetStrategyToDefault  )  [inline]
 

Methods to set the strategy for all IceT renderers. The REDUCE strategy, which is also the default, is a good all-around strategy.

Definition at line 113 of file vtkIceTRenderManager.h.

void vtkIceTRenderManager::SetStrategyToReduce  )  [inline]
 

Methods to set the strategy for all IceT renderers. The REDUCE strategy, which is also the default, is a good all-around strategy.

Definition at line 114 of file vtkIceTRenderManager.h.

void vtkIceTRenderManager::SetStrategyToVtree  )  [inline]
 

Methods to set the strategy for all IceT renderers. The REDUCE strategy, which is also the default, is a good all-around strategy.

Definition at line 115 of file vtkIceTRenderManager.h.

void vtkIceTRenderManager::SetStrategyToSplit  )  [inline]
 

Methods to set the strategy for all IceT renderers. The REDUCE strategy, which is also the default, is a good all-around strategy.

Definition at line 116 of file vtkIceTRenderManager.h.

void vtkIceTRenderManager::SetStrategyToSerial  )  [inline]
 

Methods to set the strategy for all IceT renderers. The REDUCE strategy, which is also the default, is a good all-around strategy.

Definition at line 117 of file vtkIceTRenderManager.h.

void vtkIceTRenderManager::SetStrategyToDirect  )  [inline]
 

Methods to set the strategy for all IceT renderers. The REDUCE strategy, which is also the default, is a good all-around strategy.

Definition at line 118 of file vtkIceTRenderManager.h.

virtual void vtkIceTRenderManager::SetComposeOperation int  operation  )  [virtual]
 

Set to operation to use when composing pixels together for all IceT renderers. Note that not all operations are commutative. That is, for some operations, the order of composition matters.

void vtkIceTRenderManager::SetComposeOperationToClosest  )  [inline]
 

Set to operation to use when composing pixels together for all IceT renderers. Note that not all operations are commutative. That is, for some operations, the order of composition matters.

Definition at line 137 of file vtkIceTRenderManager.h.

void vtkIceTRenderManager::SetComposeOperationToOver  )  [inline]
 

Set to operation to use when composing pixels together for all IceT renderers. Note that not all operations are commutative. That is, for some operations, the order of composition matters.

Definition at line 144 of file vtkIceTRenderManager.h.

virtual void vtkIceTRenderManager::SetSortingKdTree vtkPKdTree *  tree  )  [virtual]
 

Set a parallel Kd-tree structure that will determine the order of image composition for all IceT renderers. If there is more than one vtkIceTRenderer, each renderer should have its own sorting tree set directly. If set to NULL (the default), no ordering will be imposed. Generally speaking, if the ComposeOperation is set to CLOSEST, then giving an ordering is unnecessary. If the ComposeOperation is set to OVER, then an ordering is necessary. The given Kd-tree should have processes assigned to regions (the default if created with the vtkDistributeDataFilter) and should have the same controller as the one assigned to this object. Furthermore, the data held by each process should be strictly contained within the Kd-tree regions it is assigned to (i.e. turn clipping on).

virtual void vtkIceTRenderManager::SetDataReplicationGroup vtkIntArray *  group  )  [virtual]
 

Set the data replication group for all IceT renderers. If there is more than one vtkIceTRenderer, each renderer should probably have its own data replication group set directly. The group comprises a list of process IDs that contian the exact same data (geometry). Replicating data can reduce image composition time. The local process ID should be in the group and all processes within the group should have set the exact same list in the same order. This consistency is not checked, but bad things can happen if it is not maintained. By default, the data replication group is set to a group containing only the local process and is reset every time the controller is set.

virtual void vtkIceTRenderManager::SetDataReplicationGroupColor int  color  )  [virtual]
 

An alternate way of setting the data replication group. All processes with the same color are assumed to be part of a data replication group (that is, they all have the same geometry). This method will not return until it is called in all methods of the communicator.

virtual void vtkIceTRenderManager::RecordIceTImage vtkIceTRenderer  )  [virtual]
 

DO NOT USE. FOR INTERNAL USE ONLY. CONSULT A PHYSICIAN BEFORE USING.

virtual void vtkIceTRenderManager::ForceImageWriteback  )  [virtual]
 

DO NOT USE. FOR INTERNAL USE ONLY. DO NOT EXCEED RECOMMENDED DOSAGE.

virtual void vtkIceTRenderManager::UpdateIceTContext  )  [protected, virtual]
 

virtual void vtkIceTRenderManager::SendWindowInformation  )  [protected, virtual]
 

virtual void vtkIceTRenderManager::ReceiveWindowInformation  )  [protected, virtual]
 

virtual void vtkIceTRenderManager::SendRendererInformation vtkRenderer *   )  [protected, virtual]
 

virtual void vtkIceTRenderManager::ReceiveRendererInformation vtkRenderer *   )  [protected, virtual]
 

virtual void vtkIceTRenderManager::PreRenderProcessing  )  [protected, virtual]
 

virtual void vtkIceTRenderManager::PostRenderProcessing  )  [protected, virtual]
 

virtual vtkPerspectiveTransform* vtkIceTRenderManager::GetTileViewportTransform  )  [protected, virtual]
 

virtual void vtkIceTRenderManager::SetTileViewportTransform vtkPerspectiveTransform *  arg  )  [protected, virtual]
 

virtual void vtkIceTRenderManager::ComputeTileViewportTransform  )  [protected, virtual]
 

virtual int vtkIceTRenderManager::ImageReduceRenderer vtkRenderer *   )  [protected, virtual]
 

void vtkIceTRenderManager::GetGlobalViewport int  viewport[4]  )  [protected]
 

Convenience functions for determining IceT's logical viewports for physical tiles.

void vtkIceTRenderManager::GetTileViewport int  x,
int  y,
int  viewport[4]
[protected]
 

Convenience functions for determining IceT's logical viewports for physical tiles.


Member Data Documentation

int vtkIceTRenderManager::ContextDirty [protected]
 

Definition at line 206 of file vtkIceTRenderManager.h.

vtkTimeStamp vtkIceTRenderManager::ContextUpdateTime [protected]
 

Definition at line 207 of file vtkIceTRenderManager.h.

int vtkIceTRenderManager::TileDimensions[2] [protected]
 

Definition at line 209 of file vtkIceTRenderManager.h.

int** vtkIceTRenderManager::TileRanks [protected]
 

Definition at line 210 of file vtkIceTRenderManager.h.

int vtkIceTRenderManager::TilesDirty [protected]
 

Definition at line 211 of file vtkIceTRenderManager.h.

int vtkIceTRenderManager::CleanScreenWidth [protected]
 

Definition at line 212 of file vtkIceTRenderManager.h.

int vtkIceTRenderManager::CleanScreenHeight [protected]
 

Definition at line 213 of file vtkIceTRenderManager.h.

double vtkIceTRenderManager::LastKnownImageReductionFactor [protected]
 

Used to keep track of when the ImageReductionFactor changes, which means the tiles have gotten dirty.

Definition at line 217 of file vtkIceTRenderManager.h.

vtkCommand* vtkIceTRenderManager::RecordIceTImageCallback [protected]
 

Definition at line 219 of file vtkIceTRenderManager.h.

vtkCommand* vtkIceTRenderManager::FixRenderWindowCallback [protected]
 

Definition at line 220 of file vtkIceTRenderManager.h.

vtkPerspectiveTransform* vtkIceTRenderManager::TileViewportTransform [protected]
 

Holds a transform that shifts a camera to the displayed viewport.

Definition at line 224 of file vtkIceTRenderManager.h.

vtkDoubleArray* vtkIceTRenderManager::LastViewports [protected]
 

Keep around the last viewports so that we can rework the tiles if they change.

Definition at line 235 of file vtkIceTRenderManager.h.

vtkUnsignedCharArray* vtkIceTRenderManager::InflateImageBuffer [protected]
 

Definition at line 237 of file vtkIceTRenderManager.h.


The documentation for this class was generated from the following file:
Generated on Tue May 30 12:38:50 2006 for ParaView by doxygen 1.3.5