#include <splat.h>
Inheritance diagram for vu1112111:
Public Member Functions | |
vu1112111 () | |
Default constructor creating an empty instance. | |
vu1112111 (const vu1112111 &inst) | |
Copy constructor which does a deep copy. | |
virtual | ~vu1112111 () |
Destructor. | |
vu1112111 & | operator= (const vu1112111 &rhs) |
Assignment operator which does a deep copy. | |
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. | |
void | drawPic () |
vuImage * | getBuffer () |
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. | |
Private Attributes | |
vuNormalTable | m_NTable |
float * | m_Normals |
vuImage | m_ImgBuffer |
GLubyte * | m_Footprint |
dword | m_FPSize |
GLuint | m_GLSplat |
vuVector | m_View |
vuVector | m_Shift0 |
vuVector | m_Shift1 |
vuVector | m_Shift2 |
This class renders the volume using a general splatting method. The point of this splatter is to provide a general viewer that can be used for all purposes. The most efficient splatters change the volume data to speed up rendering, and therefore cannot be used with multiple transfer functions. The function of this splatter is to leave the volume data as is, while rendering as fast as possible. This allows users to apply different transfer functions, and to write and look at the data after rendering it.
Definition at line 46 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.h.
|
Default constructor creating an empty instance.
Definition at line 19 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. References computeSplat(), m_Footprint, m_FPSize, m_GLSplat, and m_Normals. |
Here is the call graph for this function:
|
Copy constructor which does a deep copy.
Definition at line 34 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. References byte, computeSplat(), dword, m_FPSize, m_Normals, and m_NTable. |
Here is the call graph for this function:
|
Destructor.
Definition at line 56 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. References glDeleteTextures(), and m_GLSplat. |
Here is the call graph for this function:
|
Compute the splatting texture.
Definition at line 766 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. References dword, glDeleteTextures(), GLubyte, m_Footprint, m_FPSize, m_GLSplat, and nelsonSplat(). Referenced by operator=(), and vu1112111(). |
Here is the call graph for this function:
|
Definition at line 726 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.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 vuSplat::DrawFromImage(). |
Here is the call graph for this function:
|
Draws a splat at the given position using orthogonal view.
Definition at line 948 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. References vuVector::getData(), glTexCoord2fv(), glVertex3fv(), texcoord0, texcoord1, texcoord2, and texcoord3. Referenced by render(). |
Here is the call graph for this function:
|
Draws a splat at the given position using perspective view.
Definition at line 973 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. |
|
Definition at line 756 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. Referenced by vuSplat::getCurrentImage(). |
|
Returns the size of the splatting footprint.
Definition at line 124 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. References dword. |
|
Here is the call graph for this function:
|
Computes splatting values using the Nelson algorithm.
Definition at line 806 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. Referenced by computeSplat(). |
|
Assignment operator which does a deep copy.
Definition at line 71 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. References byte, computeSplat(), dword, m_FPSize, m_Normals, m_NTable, and vu1112::operator=(). |
Here is the call graph for this function:
|
Preprocesses volume data for rendering once it's been read.
Definition at line 198 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. References vuNormalTable::addToCollection(), vuNormalTable::computeTable(), dword, vuNormalTable::findNearest(), vuNormalTable::initCollection(), m_Normals, and m_NTable. |
Here is the call graph for this function:
|
Reimplements the read() method to do some extra volume data processing.
Reimplemented from vu11121. Definition at line 133 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. References byte, m_Normals, preprocess(), and vu11121::read(). Referenced by vuSplat::init(). |
Here is the call graph for this function:
|
This method reads volume data stored using the .raw data type.
Definition at line 154 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. References byte, dword, m_Normals, and preprocess(). |
Here is the call graph for this function:
|
Implements the abstract render() method of the vuVolume base class.
Reimplemented from vu11121. Definition at line 321 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. References drawSplatOrtho(), dword, GL_QUADS, glBegin(), glColor4fv(), glEnd(), glNormal3fv(), vu1::IsReRendering(), m_Normals, m_NTable, and m_View. Referenced by vuSplat::glRender(). |
Here is the call graph for this function:
|
Sets the size of the splatting footprint.
Definition at line 115 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. |
|
Sets the camera viewing position for the render method.
Reimplemented from vu11121. Definition at line 103 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.cpp. References m_Shift0, m_Shift1, m_Shift2, and m_View. Referenced by vuSplat::glRender(). |
|
Definition at line 110 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.h. Referenced by computeSplat(), initOpenGL(), and vu1112111(). |
|
Definition at line 111 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.h. Referenced by computeSplat(), initOpenGL(), operator=(), setFootprintSize(), and vu1112111(). |
|
Definition at line 112 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.h. Referenced by computeSplat(), initOpenGL(), vu1112111(), and ~vu1112111(). |
|
Definition at line 108 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.h. Referenced by drawPic(). |
|
Definition at line 105 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.h. Referenced by operator=(), preprocess(), read(), readRaw(), render(), and vu1112111(). |
|
Definition at line 100 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.h. Referenced by operator=(), preprocess(), render(), and vu1112111(). |
|
Definition at line 115 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.h. Referenced by setViewVectors(). |
|
Definition at line 116 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.h. Referenced by setViewVectors(). |
|
Definition at line 117 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.h. Referenced by setViewVectors(). |
|
Definition at line 114 of file Regular/Unimodal/3d/1B/Intensity/Splat/splat.h. Referenced by render(), and setViewVectors(). |