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

vu1112115 Class Reference

Implements a splatter using a spectral colour model. More...

#include <specsplat.h>

Inheritance diagram for vu1112115:

Inheritance graph
[legend]
Collaboration diagram for vu1112115:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 vu1112115 ()
 Default constructor creating an empty instance.
 vu1112115 (const vu1112115 &inst)
 Copy constructor which does a deep copy.
virtual ~vu1112115 ()
 Destructor.
vu1112115operator= (const vu1112115 &rhs)
 Assignment operator which does a deep copy.
void drawPic ()
vuImagegetBuffer ()
void setViewVectors (const vuVector &view, const vuVector &up, const vuVector &right)
 Sets the camera viewing position for the render method.
void setFootprintSize (dword size)
 Sets the size of the splatting footprint.
dword getFootprintSize () const
 Returns the size of the splatting footprint.
void initOpenGL (void)
 Initializes open gl for rendering the volume data.
void render ()
 Implements the abstract render() method of the vuVolume base class.
virtual bool read ()
 Reimplements the read() method to do some extra volume data processing.
virtual bool readRaw (void)
 This method reads volume data stored using the .raw data type.

Private Member Functions

void preprocess (void)
 Preprocesses volume data for rendering once it's been read.
void computeSplat (void)
 Compute the splatting texture.
double nelsonSplat (double r)
 Computes splatting values using the Nelson algorithm.
void drawSplatOrtho (float *pos)
 Draws a splat at the given position using orthogonal view.
void drawSplatPerspective (float *pos)
 Draws a splat at the given position using perspective view.
void initVertexProgram ()
void setCXFMatrix (float *m)
void setColour7a (const float *col)
void setLightColour (vuColour7a &)
void setLightPosition (vuVector &v)

Private Attributes

vuNormalTable m_NTable
floatm_Normals
vuImage m_ImgBuffer
GLubytem_Footprint
dword m_FPSize
GLuint m_GLSplat
vuVector m_View
vuVector m_Shift0
vuVector m_Shift1
vuVector m_Shift2

Detailed Description

Implements a splatter using a spectral colour model.

Definition at line 34 of file specsplat.h.


Constructor & Destructor Documentation

vu1112115::vu1112115  ) 
 

Default constructor creating an empty instance.

Definition at line 84 of file specsplat.cpp.

References computeSplat(), m_Footprint, m_FPSize, m_GLSplat, m_Normals, and vuTFIntensity::resize().

Here is the call graph for this function:

vu1112115::vu1112115 const vu1112115 inst  ) 
 

Copy constructor which does a deep copy.

Definition at line 101 of file specsplat.cpp.

References byte, computeSplat(), dword, m_FPSize, m_Normals, m_NTable, and vuTFIntensity::resize().

Here is the call graph for this function:

vu1112115::~vu1112115  )  [virtual]
 

Destructor.

Definition at line 125 of file specsplat.cpp.


Member Function Documentation

void vu1112115::computeSplat void   )  [private]
 

Compute the splatting texture.

Definition at line 785 of file specsplat.cpp.

References dword, GLubyte, m_Footprint, m_FPSize, and nelsonSplat().

Referenced by operator=(), and vu1112115().

Here is the call graph for this function:

void vu1112115::drawPic  ) 
 

Definition at line 1023 of file specsplat.cpp.

References vuImage::get_rgb(), vuImage::getHeight(), vuImage::getWidth(), GL_BACK, GL_BLEND, GL_FRONT, glDisable(), glDrawBuffer(), glDrawPixels(), glEnable(), glFinish(), and m_ImgBuffer.

Referenced by vuSpecSplat::DrawFromImage().

Here is the call graph for this function:

void vu1112115::drawSplatOrtho float pos  )  [private]
 

Draws a splat at the given position using orthogonal view.

Definition at line 937 of file specsplat.cpp.

Referenced by render().

void vu1112115::drawSplatPerspective float pos  )  [private]
 

Draws a splat at the given position using perspective view.

Definition at line 964 of file specsplat.cpp.

vuImage * vu1112115::getBuffer  ) 
 

Definition at line 1053 of file specsplat.cpp.

Referenced by vuSpecSplat::getCurrentImage().

dword vu1112115::getFootprintSize  )  const
 

Returns the size of the splatting footprint.

Definition at line 193 of file specsplat.cpp.

References dword.

void vu1112115::initOpenGL void   ) 
 

Initializes open gl for rendering the volume data.

Definition at line 880 of file specsplat.cpp.

Referenced by vuSpecSplat::glInit().

void vu1112115::initVertexProgram  )  [private]
 

Definition at line 969 of file specsplat.cpp.

double vu1112115::nelsonSplat double  r  )  [private]
 

Computes splatting values using the Nelson algorithm.

Definition at line 825 of file specsplat.cpp.

Referenced by computeSplat().

vu1112115 & vu1112115::operator= const vu1112115 rhs  ) 
 

Assignment operator which does a deep copy.

Definition at line 140 of file specsplat.cpp.

References byte, computeSplat(), dword, m_FPSize, m_Normals, m_NTable, and vu1112::operator=().

Here is the call graph for this function:

void vu1112115::preprocess void   )  [private]
 

Preprocesses volume data for rendering once it's been read.

Definition at line 261 of file specsplat.cpp.

References vuNormalTable::addToCollection(), vuNormalTable::computeTable(), dword, vuNormalTable::findNearest(), vuNormalTable::initCollection(), m_Normals, and m_NTable.

Referenced by read(), and readRaw().

Here is the call graph for this function:

bool vu1112115::read  )  [virtual]
 

Reimplements the read() method to do some extra volume data processing.

Reimplemented from vu11121.

Definition at line 202 of file specsplat.cpp.

References byte, m_Normals, preprocess(), and vu11121::read().

Referenced by vuSpecSplat::init().

Here is the call graph for this function:

bool vu1112115::readRaw void   )  [virtual]
 

This method reads volume data stored using the .raw data type.

Definition at line 223 of file specsplat.cpp.

References byte, dword, m_Normals, and preprocess().

Here is the call graph for this function:

void vu1112115::render  )  [virtual]
 

Implements the abstract render() method of the vuVolume base class.

Reimplemented from vu11121.

Definition at line 384 of file specsplat.cpp.

References drawSplatOrtho(), dword, vuImage::get_rgb(), vuImage::getHeight(), vuTFIntensity::getLight(), vuImage::getWidth(), GL_FRONT, GL_VIEWPORT, glGetIntegerv(), glReadBuffer(), glReadPixels(), vuImage::init(), m_ImgBuffer, m_Normals, m_NTable, m_View, setColour7a(), setLightColour(), and setLightPosition().

Referenced by vuSpecSplat::glRender().

Here is the call graph for this function:

void vu1112115::setColour7a const float col  )  [private]
 

Definition at line 1004 of file specsplat.cpp.

Referenced by render().

void vu1112115::setCXFMatrix float m  )  [private]
 

Definition at line 998 of file specsplat.cpp.

void vu1112115::setFootprintSize dword  size  ) 
 

Sets the size of the splatting footprint.

Definition at line 184 of file specsplat.cpp.

References m_FPSize, and size.

void vu1112115::setLightColour vuColour7a  )  [private]
 

Definition at line 1010 of file specsplat.cpp.

References vuColour< S >::getData().

Referenced by render().

Here is the call graph for this function:

void vu1112115::setLightPosition vuVector v  )  [private]
 

Definition at line 1018 of file specsplat.cpp.

Referenced by render().

void vu1112115::setViewVectors const vuVector view,
const vuVector up,
const vuVector right
[virtual]
 

Sets the camera viewing position for the render method.

Reimplemented from vu11121.

Definition at line 172 of file specsplat.cpp.

References m_Shift0, m_Shift1, m_Shift2, and m_View.

Referenced by vuSpecSplat::glRender().


Member Data Documentation

GLubyte* vu1112115::m_Footprint [private]
 

Definition at line 102 of file specsplat.h.

Referenced by computeSplat(), and vu1112115().

dword vu1112115::m_FPSize [private]
 

Definition at line 103 of file specsplat.h.

Referenced by computeSplat(), operator=(), setFootprintSize(), and vu1112115().

GLuint vu1112115::m_GLSplat [private]
 

Definition at line 104 of file specsplat.h.

Referenced by vu1112115().

vuImage vu1112115::m_ImgBuffer [private]
 

Definition at line 100 of file specsplat.h.

Referenced by drawPic(), and render().

float* vu1112115::m_Normals [private]
 

Definition at line 97 of file specsplat.h.

Referenced by operator=(), preprocess(), read(), readRaw(), render(), and vu1112115().

vuNormalTable vu1112115::m_NTable [private]
 

Definition at line 93 of file specsplat.h.

Referenced by operator=(), preprocess(), render(), and vu1112115().

vuVector vu1112115::m_Shift0 [private]
 

Definition at line 107 of file specsplat.h.

Referenced by setViewVectors().

vuVector vu1112115::m_Shift1 [private]
 

Definition at line 108 of file specsplat.h.

Referenced by setViewVectors().

vuVector vu1112115::m_Shift2 [private]
 

Definition at line 109 of file specsplat.h.

Referenced by setViewVectors().

vuVector vu1112115::m_View [private]
 

Definition at line 106 of file specsplat.h.

Referenced by render(), and setViewVectors().


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