VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
vtkOpenGLProjectedAAHexahedraMapper Class Reference

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

#include <vtkOpenGLProjectedAAHexahedraMapper.h>

Inheritance diagram for vtkOpenGLProjectedAAHexahedraMapper:
Inheritance graph
[legend]
Collaboration diagram for vtkOpenGLProjectedAAHexahedraMapper:
Collaboration graph
[legend]

List of all members.

Public Types

typedef
vtkProjectedAAHexahedraMapper 
Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkOpenGLProjectedAAHexahedraMapperNewInstance () const
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 (vtkObjectBase *o)
static
vtkOpenGLProjectedAAHexahedraMapper
New ()

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkOpenGLProjectedAAHexahedraMapper ()
 ~vtkOpenGLProjectedAAHexahedraMapper ()
floatConvertScalars (vtkDataArray *inScalars)
floatConvertPoints (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
floatpos_points
floatmin_points
floatnode_data1
floatnode_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

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 (steph.nosp@m.ane..nosp@m.march.nosp@m.esin.nosp@m.@gmai.nosp@m.l.co.nosp@m.m) 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 45 of file vtkOpenGLProjectedAAHexahedraMapper.h.


Member Typedef Documentation

Reimplemented from vtkProjectedAAHexahedraMapper.

Definition at line 50 of file vtkOpenGLProjectedAAHexahedraMapper.h.


Constructor & Destructor Documentation


Member Function Documentation

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.

Reimplemented from vtkProjectedAAHexahedraMapper.

Reimplemented from vtkProjectedAAHexahedraMapper.

Reimplemented from vtkProjectedAAHexahedraMapper.

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.

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.

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.

Convert the input scalar values to floats.

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.

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

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.

Restore the OpenGL state touched by SetState().


Member Data Documentation

Definition at line 96 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 98 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 100 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 101 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 102 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 103 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 105 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 108 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 109 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 110 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 111 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 114 of file vtkOpenGLProjectedAAHexahedraMapper.h.

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

Definition at line 115 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 118 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 120 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 122 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 122 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 122 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 123 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 125 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 127 of file vtkOpenGLProjectedAAHexahedraMapper.h.

Definition at line 128 of file vtkOpenGLProjectedAAHexahedraMapper.h.


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