#include <ThreadedRayCaster.h>
ThreadedRayCaster::ThreadedRayCaster | ( | void * | aWindow, | |
void * | aParent, | |||
Volume * | aVolume | |||
) |
constructor
aVolume | the volume data |
ThreadedRayCaster::~ThreadedRayCaster | ( | ) |
destructor
int ThreadedRayCaster::checkDone | ( | ) | [private] |
checks if any lines have finisched
void ThreadedRayCaster::drawVolume | ( | POINT | aDrawSize, | |
RGBAColor * | aResultArray, | |||
Vector3 | aDirection, | |||
Vector3 | aPos, | |||
Vector3 | anXDirection, | |||
Vector3 | aYDirection | |||
) |
renders the volume
aResultArray | the result will be drawn into this | |
aDirection | direction the rays are looking at | |
aPos | starting position of the upper left ray | |
anXDirection | horizontal position difference between two rays | |
aYDirection | vertical position difference between two rays |
void ThreadedRayCaster::issueLine | ( | RayCalculations * | aCalculator | ) | [private] |
starts a new thread to render a line
aCalculator | the instance to render the line |
bool ThreadedRayCaster::lineDone | ( | unsigned int | aLineNo | ) | [private] |
finish the line and start the next one
aLineNo | the number of the line |
void ThreadedRayCaster::loadValues | ( | ) | [private] |
saves all modifiable values for casting process, issued before the first thread is started
void ThreadedRayCaster::nextLine | ( | ) | [private] |
sets the current line to the next line for progressive refinement
void ThreadedRayCaster::writeLine | ( | unsigned int | aLineNo | ) | [private] |
writes the color data after a line is done
aLineNo | number of the line data shall be written for |
std::map<unsigned int, RayCalculations*> ThreadedRayCaster::theAssignedWork [private] |
RayCalculations* ThreadedRayCaster::theCalculators [private] |
RGBAColor* ThreadedRayCaster::theColorTransfer [private] |
int ThreadedRayCaster::theCurrLine [private] |
Vector3 ThreadedRayCaster::theDirection [private] |
POINT ThreadedRayCaster::theDrawSize [private] |
unsigned int ThreadedRayCaster::theLineIncrement [private] |
bool* ThreadedRayCaster::theLinesDone [private] |
bool* ThreadedRayCaster::theLinesDrawn [private] |
bool* ThreadedRayCaster::theLinesIssued [private] |
void(RayCalculations::* ThreadedRayCaster::theMode)(Vector3, Vector3, RGBAColor &) [private] |
unsigned int ThreadedRayCaster::theNumberOfThreads [private] |
void* ThreadedRayCaster::theParentCaster [private] |
void* ThreadedRayCaster::theParentWindow [private] |
Vector3 ThreadedRayCaster::thePos [private] |
RGBAColor* ThreadedRayCaster::theResultingColor [private] |
std::list<unsigned int> ThreadedRayCaster::theRunningLines [private] |
RGBAColor* ThreadedRayCaster::theTemporaryColor [private] |
Vector3 ThreadedRayCaster::theXDirection [private] |
Vector3 ThreadedRayCaster::theYDirection [private] |