vtkOpenGLProjectedAAHexahedraMapper Class Reference

#include <vtkOpenGLProjectedAAHexahedraMapper.h>

Inheritance diagram for vtkOpenGLProjectedAAHexahedraMapper:

Inheritance graph
[legend]
Collaboration diagram for vtkOpenGLProjectedAAHexahedraMapper:

Collaboration graph
[legend]

List of all members.


Detailed Description

OpenGL implementation of a volume mapper for axis-aligned hexahedra.

High quality volume renderer for axis-aligned hexahedra

Implementation:
Implementation by Stephane Marchesin (stephane.marchesin@gmail.com) CEA/DIF - Commissariat a l'Energie Atomique, Centre DAM Ile-De-France BP12, F-91297 Arpajon, France.
Implementation:
This mapper implements the paper "High-Quality, Semi-Analytical Volume Rendering for AMR Data", Stephane Marchesin and Guillaume Colin de Verdiere, IEEE Vis 2009.

Definition at line 44 of file vtkOpenGLProjectedAAHexahedraMapper.h.


Public Types

typedef
vtkProjectedAAHexahedraMapper 
Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
virtual void PrintSelf (ostream &os, vtkIndent indent)
bool IsRenderSupported (vtkRenderWindow *w)
void Render (vtkRenderer *renderer, vtkVolume *volume)
void ReleaseGraphicsResources (vtkWindow *window)

Static Public Member Functions

static int IsTypeOf (const char *type)
static
vtkOpenGLProjectedAAHexahedraMapper
SafeDownCast (vtkObject *o)
static
vtkOpenGLProjectedAAHexahedraMapper
New ()

Protected Member Functions

 vtkOpenGLProjectedAAHexahedraMapper ()
 ~vtkOpenGLProjectedAAHexahedraMapper ()
float * ConvertScalars (vtkDataArray *inScalars)
float * ConvertPoints (vtkPoints *inPoints)
virtual void ProjectHexahedra (vtkRenderer *renderer, vtkVolume *volume)
void Initialize (vtkRenderer *renderer, vtkVolume *volume)
void UpdatePreintegrationTexture (vtkVolume *vome, vtkDataArray *scalars)
void CreateProgram (vtkRenderWindow *w)
void SetState (double *observer)
void RenderHexahedron (float min[3], float max[3], float scalars[8])
void UnsetState ()

Protected Attributes

bool Initialized
int UsingCellColors
float MaxCellSize
vtkTimeStamp InputAnalyzedTime
vtkTimeStamp PreintTextureTime
vtkTimeStamp ColorsMappedTime
unsigned int PreintTexture
float * pos_points
float * min_points
float * node_data1
float * node_data2
int num_points
vtkShaderProgram2Shader
int GaveError
float ScalarScale
float ScalarShift
float ScalarResolution
float LengthScale
vtkVolumePropertyLastProperty
vtkFloatArrayConvertedPoints
vtkFloatArrayConvertedScalars

Static Protected Attributes

static const int max_points = 4096

Member Typedef Documentation

Reimplemented from vtkProjectedAAHexahedraMapper.

Definition at line 48 of file vtkOpenGLProjectedAAHexahedraMapper.h.


Constructor & Destructor Documentation

vtkOpenGLProjectedAAHexahedraMapper::vtkOpenGLProjectedAAHexahedraMapper (  )  [protected]

vtkOpenGLProjectedAAHexahedraMapper::~vtkOpenGLProjectedAAHexahedraMapper (  )  [protected]


Member Function Documentation

virtual const char* vtkOpenGLProjectedAAHexahedraMapper::GetClassName (  )  [virtual]

Reimplemented from vtkProjectedAAHexahedraMapper.

static int vtkOpenGLProjectedAAHexahedraMapper::IsTypeOf ( const char *  name  )  [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkProjectedAAHexahedraMapper.

virtual int vtkOpenGLProjectedAAHexahedraMapper::IsA ( const char *  name  )  [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkProjectedAAHexahedraMapper.

static vtkOpenGLProjectedAAHexahedraMapper* vtkOpenGLProjectedAAHexahedraMapper::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkProjectedAAHexahedraMapper.

static vtkOpenGLProjectedAAHexahedraMapper* vtkOpenGLProjectedAAHexahedraMapper::New (  )  [static]

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkProjectedAAHexahedraMapper.

virtual void vtkOpenGLProjectedAAHexahedraMapper::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkProjectedAAHexahedraMapper.

bool vtkOpenGLProjectedAAHexahedraMapper::IsRenderSupported ( vtkRenderWindow w  )  [virtual]

Check if the required OpenGL extensions are supported by the OpenGL context attached to the render window `w'.

Implements vtkProjectedAAHexahedraMapper.

void vtkOpenGLProjectedAAHexahedraMapper::Render ( vtkRenderer ren,
vtkVolume vol 
) [virtual]

WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Render the volume

Implements vtkUnstructuredGridVolumeMapper.

void vtkOpenGLProjectedAAHexahedraMapper::ReleaseGraphicsResources ( vtkWindow  )  [virtual]

WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being consumed by this mapper. The parameter window could be used to determine which graphic resources to release.

Reimplemented from vtkUnstructuredGridVolumeMapper.

float* vtkOpenGLProjectedAAHexahedraMapper::ConvertScalars ( vtkDataArray inScalars  )  [protected]

Convert the input scalar values to floats.

float* vtkOpenGLProjectedAAHexahedraMapper::ConvertPoints ( vtkPoints inPoints  )  [protected]

Convert the input cell coordinates to floats.

virtual void vtkOpenGLProjectedAAHexahedraMapper::ProjectHexahedra ( vtkRenderer renderer,
vtkVolume volume 
) [protected, virtual]

Iterate over all the hexahedal input cells, sort and render them.

void vtkOpenGLProjectedAAHexahedraMapper::Initialize ( vtkRenderer renderer,
vtkVolume volume 
) [protected]

Load the OpenGL extensions and allocate the vertex arrays.

void vtkOpenGLProjectedAAHexahedraMapper::UpdatePreintegrationTexture ( vtkVolume vome,
vtkDataArray scalars 
) [protected]

Update the preintegration texture; this is needed whenever the mesh changes.

void vtkOpenGLProjectedAAHexahedraMapper::CreateProgram ( vtkRenderWindow w  )  [protected]

Create the OpenGL geometry/vertex/fragment programs for hexahedral cell rendering.

void vtkOpenGLProjectedAAHexahedraMapper::SetState ( double *  observer  )  [protected]

Set the OpenGL state for hexahedral cell rendering.

void vtkOpenGLProjectedAAHexahedraMapper::RenderHexahedron ( float  min[3],
float  max[3],
float  scalars[8] 
) [protected]

Render a single axis-aligned hexahedal cell.

void vtkOpenGLProjectedAAHexahedraMapper::UnsetState (  )  [protected]

Restore the OpenGL state touched by SetState().


Member Data Documentation

Definition at line 94 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 96 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 98 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 99 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 100 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 101 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 103 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 106 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 107 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 108 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 109 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 112 of file vtkOpenGLProjectedAAHexahedraMapper.h.

const int vtkOpenGLProjectedAAHexahedraMapper::max_points = 4096 [static, protected]

Definition at line 113 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 116 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 118 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 120 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 120 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 120 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 121 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 123 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 125 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 126 of file vtkOpenGLProjectedAAHexahedraMapper.h.


The documentation for this class was generated from the following file:

Generated on Wed Aug 24 11:51:24 2011 for VTK by  doxygen 1.5.6