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

vuTFPreintegrated Class Reference

Provides a preintegrated transfer function based on vuTFIntensity class. More...

#include <vuTFPreintegrated.h>

Inheritance diagram for vuTFPreintegrated:

Inheritance graph
[legend]
Collaboration diagram for vuTFPreintegrated:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 vuTFPreintegrated ()
 Constructor.
 vuTFPreintegrated (dword ncomp, dword range)
 vuTFPreintegrated (const vuTFIntensity &inst)
 Copy constructor.
virtual ~vuTFPreintegrated ()
 Destructor.
vuTFPreintegratedoperator= (const vuTFIntensity &rhs)
 Assignment operator.
void preintegrate ()
 do the preintegration for the entire transfer function
bool integrate (float back, float front, float d, vuColourN &col)
 Gives the integrated value between two intensities.
void useAlphaWeighting (bool useit)
 vuTFPreintegrated ()
 Constructor.
 vuTFPreintegrated (dword ncomp, dword range)
 vuTFPreintegrated (const vuTFIntensity &inst)
 Copy constructor.
virtual ~vuTFPreintegrated ()
 Destructor.
vuTFPreintegratedoperator= (const vuTFIntensity &rhs)
 Assignment operator.
void preintegrate ()
 do the preintegration for the entire transfer function
bool integrate (float back, float front, float d, vuColourN &col)
 Gives the integrated value between two intensities.
void useAlphaWeighting (bool useit)

Protected Member Functions

bool init (dword ncomp, dword range)
 allocate memory.
void cleanup ()
 free memory.
bool init (dword ncomp, dword range)
 allocate memory.
void cleanup ()
 free memory.

Protected Attributes

floatm_PITable
 The preintegrated function table for the transfer function.
bool m_AlphaWeighted
 do an alpha weighted pre-integration
floatm_PITable
 The preintegrated function table for the transfer function.

Detailed Description

Provides a preintegrated transfer function based on vuTFIntensity class.

Definition at line 41 of file General/vuTFunc/vuTFPreintegrated.h.


Constructor & Destructor Documentation

vuTFPreintegrated::vuTFPreintegrated  ) 
 

Constructor.

Parameters:
ncomp number of components RGBA should be built with ncomp = 4
range range for which the look up table should be defined

Definition at line 5 of file General/vuTFunc/vuTFPreintegrated.cpp.

References init().

Here is the call graph for this function:

vuTFPreintegrated::vuTFPreintegrated dword  ncomp,
dword  range
 

Definition at line 12 of file General/vuTFunc/vuTFPreintegrated.cpp.

References init().

Here is the call graph for this function:

vuTFPreintegrated::vuTFPreintegrated const vuTFIntensity inst  ) 
 

Copy constructor.

Definition at line 19 of file General/vuTFunc/vuTFPreintegrated.cpp.

References vuTFIntensity::getNComponents(), vuTFIntensity::getRange(), init(), and operator=().

Here is the call graph for this function:

vuTFPreintegrated::~vuTFPreintegrated  )  [virtual]
 

Destructor.

Frees the memory for the LUT

Definition at line 27 of file General/vuTFunc/vuTFPreintegrated.cpp.

References cleanup().

Here is the call graph for this function:

vuTFPreintegrated::vuTFPreintegrated  ) 
 

Constructor.

Parameters:
ncomp number of components RGBA should be built with ncomp = 4
range range for which the look up table should be defined

vuTFPreintegrated::vuTFPreintegrated dword  ncomp,
dword  range
 

vuTFPreintegrated::vuTFPreintegrated const vuTFIntensity inst  ) 
 

Copy constructor.

virtual vuTFPreintegrated::~vuTFPreintegrated  )  [virtual]
 

Destructor.

Frees the memory for the LUT


Member Function Documentation

void vuTFPreintegrated::cleanup  )  [protected, virtual]
 

free memory.

Calls also vuTFIntensity::cleanup()

Reimplemented from vuTFIntensity.

void vuTFPreintegrated::cleanup  )  [protected, virtual]
 

free memory.

Calls also vuTFIntensity::cleanup()

Reimplemented from vuTFIntensity.

Definition at line 168 of file General/vuTFunc/vuTFPreintegrated.cpp.

References vuTFIntensity::cleanup(), and m_PITable.

Referenced by ~vuTFPreintegrated().

Here is the call graph for this function:

bool vuTFPreintegrated::init dword  ncomp,
dword  range
[protected, virtual]
 

allocate memory.

also calls vuTFIntensity::init()

Reimplemented from vuTFIntensity.

bool vuTFPreintegrated::init dword  ncomp,
dword  range
[protected, virtual]
 

allocate memory.

also calls vuTFIntensity::init()

Reimplemented from vuTFIntensity.

Definition at line 156 of file General/vuTFunc/vuTFPreintegrated.cpp.

References dword, vuTFIntensity::init(), and m_PITable.

Referenced by vuTFPreintegrated().

Here is the call graph for this function:

bool vuTFPreintegrated::integrate float  back,
float  front,
float  d,
vuColourN col
 

Gives the integrated value between two intensities.

The current impementation doesn't make a difference between front and back and will always return positive values. But e.g. for isosurfaces this can be used to determine inside and outside.

Parameters:
front intensity at the front end of the line segment
back intensity at the back end of the line segment
d distance between the samples
col a vuColour<N> with N according to the number of components in the transfer function for returning the integrated results.
Returns:
false if number of components in col doesn't match m_NComponents

bool vuTFPreintegrated::integrate float  back,
float  front,
float  d,
vuColourN col
 

Gives the integrated value between two intensities.

The current impementation doesn't make a difference between front and back and will always return positive values. But e.g. for isosurfaces this can be used to determine inside and outside.

Parameters:
front intensity at the front end of the line segment
back intensity at the back end of the line segment
d distance between the samples
col a vuColour<N> with N according to the number of components in the transfer function for returning the integrated results.
Returns:
false if number of components in col doesn't match m_NComponents

Definition at line 90 of file General/vuTFunc/vuTFPreintegrated.cpp.

References m_PITable, vuColourN::nComponents(), and word.

Referenced by vu1112113::Cast().

Here is the call graph for this function:

vuTFPreintegrated& vuTFPreintegrated::operator= const vuTFIntensity rhs  ) 
 

Assignment operator.

If the transfer function specified in rhs has a different number of components, a conversion to RGBa is performed. By now this conversion is only implemented for 31 -> RGB. If the ranges (default 256) don't match, the function does nothing.

Reimplemented from vuTFIntensity.

vuTFPreintegrated & vuTFPreintegrated::operator= const vuTFIntensity rhs  ) 
 

Assignment operator.

If the transfer function specified in rhs has a different number of components, a conversion to RGBa is performed. By now this conversion is only implemented for 31 -> RGB. If the ranges (default 256) don't match, the function does nothing.

Reimplemented from vuTFIntensity.

Definition at line 33 of file General/vuTFunc/vuTFPreintegrated.cpp.

References vuTFIntensity::operator=(), and preintegrate().

Referenced by vuTFPreintegrated().

Here is the call graph for this function:

void vuTFPreintegrated::preintegrate  ) 
 

do the preintegration for the entire transfer function

void vuTFPreintegrated::preintegrate  ) 
 

do the preintegration for the entire transfer function

Definition at line 41 of file General/vuTFunc/vuTFPreintegrated.cpp.

References word.

Referenced by operator=(), and vu1112113::setTFuncMethod().

void vuTFPreintegrated::useAlphaWeighting bool  useit  )  [inline]
 

Definition at line 77 of file Volume/Regular/Unimodal/3d/1B/Intensity/vuTFPreintegrated.h.

References m_AlphaWeighted.

void vuTFPreintegrated::useAlphaWeighting bool  useit  )  [inline]
 

Definition at line 77 of file General/vuTFunc/vuTFPreintegrated.h.

References m_AlphaWeighted.

Referenced by vu1112113::setTFuncMethod().


Member Data Documentation

bool vuTFPreintegrated::m_AlphaWeighted [protected]
 

do an alpha weighted pre-integration

Definition at line 93 of file Volume/Regular/Unimodal/3d/1B/Intensity/vuTFPreintegrated.h.

Referenced by useAlphaWeighting().

float* vuTFPreintegrated::m_PITable [protected]
 

The preintegrated function table for the transfer function.

Definition at line 90 of file Volume/Regular/Unimodal/3d/1B/Intensity/vuTFPreintegrated.h.

float* vuTFPreintegrated::m_PITable [protected]
 

The preintegrated function table for the transfer function.

Definition at line 90 of file General/vuTFunc/vuTFPreintegrated.h.

Referenced by cleanup(), init(), and integrate().


The documentation for this class was generated from the following files:
Generated on Wed Dec 15 21:22:07 2004 for vuVolume by  doxygen 1.3.9.1