#include <StreamlineSet.h>
StreamlineSet::StreamlineSet | ( | FlowData * | _dataset, | |
int | _chX, | |||
int | _chY, | |||
float | _dt, | |||
float | _dsep, | |||
float | _dtest | |||
) |
Constructs a new StreamlineSet object.
_dataset | pointer to the dataset | |
_chX | index of the geometry channel for the x-values | |
_chY | index of the geometry channel for the y-values | |
_dt | dt for the numerical integration | |
_dsep | distance between streamline and new seedpoint | |
_dtest | minimal distance between actual sample point and nearest streamline |
StreamlineSet::~StreamlineSet | ( | ) |
Destroys the StreamlineSet object.
StreamlineSet::StreamlineSet | ( | FlowData * | _dataset, | |
int | _chX, | |||
int | _chY, | |||
float | _dt, | |||
float | _dsep, | |||
float | _dtest | |||
) |
StreamlineSet::~StreamlineSet | ( | ) |
bool StreamlineSet::calcStreamline | ( | Point * | seedPoint | ) | [private] |
bool StreamlineSet::calcStreamline | ( | Point * | seedPoint | ) | [private] |
Calculates a streamline starting with the seedPoint using the distanceField
seedPoint | pointer to the seed point |
void StreamlineSet::calcStreamlineNormal | ( | Point * | seedPoint | ) | [private] |
Calculates the streamline with the seedpoint without the distanceField
seedPoint | pointer to the seed point |
void StreamlineSet::calcStreamlinesEvenly | ( | ) |
void StreamlineSet::calcStreamlinesEvenly | ( | ) |
Calculates the streamlines evenly
void StreamlineSet::calcStreamlinesNormal | ( | int | numSeedPoints | ) |
void StreamlineSet::calcStreamlinesNormal | ( | int | numSeedPoints | ) |
Calculates the streamline normally
numSeedPoints | number of the seed points |
void StreamlineSet::checkDistanceField | ( | ) | [private] |
void StreamlineSet::checkDistanceField | ( | ) | [private] |
Checks the distance field
Calculates a numerial integration step using the euler method (inverts the normals)
origin | the point to start the numerical integration |
Calculates a numerial integration step using the euler method
origin | the point to start the numerical integration |
Color* StreamlineSet::getColor | ( | ) |
Color * StreamlineSet::getColor | ( | ) |
Returns the color of the streamlines
float StreamlineSet::getDistanceToNearestStreamline | ( | Point * | point | ) | [private] |
float StreamlineSet::getDistanceToNearestStreamline | ( | Point * | point | ) | [private] |
Returns the distance to the nearest streamline
point | the point for the distance calculation |
float StreamlineSet::getFunction1Value | ( | int | rank | ) | [private] |
float StreamlineSet::getFunction1Value | ( | int | rank | ) | [private] |
Returns the function value for function 1
rank | rank of the point inside the streamline |
float StreamlineSet::getFunction2Value | ( | int | rank | ) | [private] |
float StreamlineSet::getFunction2Value | ( | int | rank | ) | [private] |
Returns the function value for function 2
rank | rank of the point inside the streamline |
float StreamlineSet::getNearestDistance | ( | Point * | point | ) | [private] |
float StreamlineSet::getNearestDistance | ( | Point * | point | ) | [private] |
Returns the nearest distance to the next streamline
point | pointer to the point |
std::list<Streamline*> StreamlineSet::getStreamlineList | ( | ) |
std::list< Streamline * > StreamlineSet::getStreamlineList | ( | ) |
Returns the streamline list
bool StreamlineSet::isPointOutsideDataRange | ( | Point * | point | ) | [private] |
bool StreamlineSet::isPointOutsideDataRange | ( | Point * | actPoint | ) | [private] |
Checks whether the point is outside the data range
actPoint | the point that should be checked |
bool StreamlineSet::isSamplePointTooCloseToNextStreamline | ( | Point * | seedPoint | ) | [private] |
bool StreamlineSet::isSamplePointTooCloseToNextStreamline | ( | Point * | samplePoint | ) | [private] |
Checks whether the nearest streamline is too close to the sample point
seedPoint | the sample point |
bool StreamlineSet::isSeedPointTooCloseToNextStreamline | ( | Point * | seedPoint | ) | [private] |
bool StreamlineSet::isSeedPointTooCloseToNextStreamline | ( | Point * | seedPoint | ) | [private] |
Checks whether the nearest streamline is too close to the seed point
seedPoint | the seed point |
void StreamlineSet::printStatus | ( | ) | [private] |
void StreamlineSet::printStatus | ( | ) | [private] |
Prints the current status
void StreamlineSet::rebuildDistanceField | ( | ) | [private] |
void StreamlineSet::rebuildDistanceField | ( | ) | [private] |
Rebuilds the distance field if dsep is changed
void StreamlineSet::registerPoint | ( | Point * | point | ) | [private] |
void StreamlineSet::registerPoint | ( | Point * | point | ) | [private] |
Registers one point in the distance field
point | the point to be registered |
void StreamlineSet::registerPointCache | ( | Point ** | pointCache, | |
int | length | |||
) | [private] |
void StreamlineSet::registerPointCache | ( | Point ** | pointCache, | |
int | length | |||
) | [private] |
Registers the points inside the cache in the distance field
pointCache | array with pointers to the points to be registered | |
length | length of the array |
void StreamlineSet::render | ( | ) |
void StreamlineSet::render | ( | ) |
Renders the streamlines
void StreamlineSet::renderGlyphMapping | ( | ) |
void StreamlineSet::renderGlyphMapping | ( | ) |
Renders evenly spaced streamlines with glyph mapping
void StreamlineSet::renderTapering | ( | float | maxlineWidth, | |
float | lineWidthClamp | |||
) |
Renders evenly spaced streamlines with tapering
void StreamlineSet::renderTapering | ( | ) |
Renders evenly spaced streamlines with tapering
void StreamlineSet::renderTextureGeneration | ( | ) |
void StreamlineSet::renderTextureGeneration | ( | ) |
Renders the streamlines using texture generation
void StreamlineSet::resetDistanceField | ( | ) | [private] |
void StreamlineSet::resetDistanceField | ( | ) | [private] |
Resets the distance field
Calculates a numerial integration step using the runge kutta method (inverts the vectors)
origin | the point to start the numerical integration |
Calculates a numerial integration step using the runge kutta method
origin | the point to start the numerical integration |
void StreamlineSet::setCacheSize | ( | ) | [private] |
void StreamlineSet::setCacheSize | ( | ) | [private] |
Sets the cache size automatically
void StreamlineSet::setColor | ( | const float | r, | |
const float | g, | |||
const float | b | |||
) |
void StreamlineSet::setColor | ( | const float | r, | |
const float | g, | |||
const float | b | |||
) |
Sets the color of the streamlines
r | red channel of the color | |
g | green channel of the color | |
b | blue channel of the color |
void StreamlineSet::setDSep | ( | float | _dsep | ) |
void StreamlineSet::setDSep | ( | float | _dsep | ) |
Sets dsep
_dsep | distance between streamline and new seedpoint |
void StreamlineSet::setDT | ( | float | _dt | ) |
void StreamlineSet::setDT | ( | float | _dt | ) |
Sets dt
_dt | dt for the numerical integration |
void StreamlineSet::setDTest | ( | float | _dtest | ) |
void StreamlineSet::setDTest | ( | float | _dtest | ) |
Sets dtest
_dtest | minimal distance between actual sample point and nearest streamline |
void StreamlineSet::setFunction | ( | Function | _function | ) |
Sets the function used for texture generation
_function | the function used for texture generation |
void StreamlineSet::setIntegrationMethod | ( | IntegrationMethod | _integrationMethod | ) |
void StreamlineSet::setIntegrationMethod | ( | IntegrationMethod | _integrationMethod | ) |
Sets the integration method
_integrationMethod | the integration method used by the numerical integration |
void StreamlineSet::setN | ( | int | _N | ) |
Sets the period length for the functions
_N | the period length for the functions |
int StreamlineSet::cachePoints [private] |
number of cached points
int StreamlineSet::cacheSize [private] |
number of points stored in the cache
float StreamlineSet::cellHeight [private] |
cellHeight of the distanceField
float StreamlineSet::cellWidth [private] |
cellWidth of the distanceField
int StreamlineSet::chX [private] |
index of the geometry channel for the x-values
int StreamlineSet::chY [private] |
index of the geometry channel for the y-values
Color * StreamlineSet::color [private] |
the color of the streamlines
FlowData * StreamlineSet::dataset [private] |
pointer to the dataset
std::list< Point * > *** StreamlineSet::distanceField [private] |
the distanceField needed for the evenly spaced streamlines
int StreamlineSet::distanceFieldHeight [private] |
number of cells of the distanceField in vertical direction
int StreamlineSet::distanceFieldWidth [private] |
number of cells of the distanceField in horizontal direction
float StreamlineSet::dsep [private] |
distance between streamline and new seedpoint
float StreamlineSet::dsepSquared [private] |
dsep squared to minimize calculation effort
float StreamlineSet::dt [private] |
dt for the numerical integration
float StreamlineSet::dtest [private] |
minimal distance between actual sample point and nearest streamline
float StreamlineSet::dtestSquared [private] |
dtest squared to minimize calculation effort
Point ** StreamlineSet::firstPointCache [private] |
first point cache for the evenly spaced streamlines algorithm
Function StreamlineSet::function [private] |
function used by the texture generation
int StreamlineSet::id [private] |
id of the actual streamline
Point ** StreamlineSet::initPointCache [private] |
pointCache used at the beginning of the streamline
integration method used, either euler or runge kutta
int StreamlineSet::N [private] |
period length for texture generation
int StreamlineSet::pointCount [private] |
pointcount inside one streamline
int StreamlineSet::pointsInStreamlines [private] |
points in the actual streamline
int StreamlineSet::registratedPoints [private] |
number of registrated points
Point ** StreamlineSet::secondPointCache [private] |
second point cache for the evenly spaced streamlines algorithm
std::list< Streamline * > StreamlineSet::streamlineList [private] |
list that stores pointers to the streamlines
int StreamlineSet::streamlineNumber [private] |
number of streamlines calculated