Flow Visualization 1.0
|
Handles one scalar field of floats defined for each cell. More...
#include <FlowChannel.h>
Public Member Functions | |
FlowChannel (FlowGeometry *g) | |
void | setValue (int vtxID, float val) |
sets the value of the given vertex | |
void | copyValues (float *rawdata, int vtxSize, int offset) |
takes an array containing all attributes for a vertex and copies the j-th attribute to this channel | |
float | getValue (vec3 pos) |
returns the value at given position in data set coordinates (from 0 to dimX or dimY) | |
float | getValue (int vtxID) |
returns the value of the given vertex | |
float | getValueNormPos (vec3 pos) |
returns the value at given position in normalized coordinates for each dimension <0..1> | |
float | getValueNormPos (float x, float y) |
returns the value at given position in normalized coordinates for each dimension <0..1> | |
float | normalizeValue (float val) |
scales the value according to the channel minimum and maximum, so that it lies inside of <0,1> | |
float | getMin () |
returns the minimum value found in the channel | |
float | getMax () |
returns the maximum value found in the channel | |
float | getRange () |
returns the range = max - min | |
GLuint | get2DTexture () |
returns a 2D OpenGL texture containing channeldata floats inside of <0,1>. |
Handles one scalar field of floats defined for each cell.
More dimensional vectors are split into components. E.g. a 3D velocity vector gets stored in three FlowChannels. A FlowChannel stores data only from one time step, it is not aware of any time related information.
void FlowChannel::copyValues | ( | float * | rawdata, |
int | vtxSize, | ||
int | offset | ||
) |
takes an array containing all attributes for a vertex and copies the j-th attribute to this channel
This method is used by the loading of data sets.
rawdata | data gained directly from the file, without any processing. It contains all channels for all cells. Please note, there is no time information considered here. |
vtxSize | number of channels per cell (incl. velocity vector size) |
offset | offset of the parameter loaded into this channel |
GLuint FlowChannel::get2DTexture | ( | ) |
returns a 2D OpenGL texture containing channeldata floats inside of <0,1>.
This texture will be used to do a lookup from geometry vertices that have the grid location coded into uv texcoords.
float FlowChannel::getMax | ( | ) |
returns the maximum value found in the channel
float FlowChannel::getMin | ( | ) |
returns the minimum value found in the channel
float FlowChannel::getRange | ( | ) |
returns the range = max - min
float FlowChannel::getValue | ( | int | vtxID | ) |
returns the value of the given vertex
float FlowChannel::getValue | ( | vec3 | pos | ) |
returns the value at given position in data set coordinates (from 0 to dimX or dimY)
float FlowChannel::getValueNormPos | ( | vec3 | pos | ) |
returns the value at given position in normalized coordinates for each dimension <0..1>
float FlowChannel::getValueNormPos | ( | float | x, |
float | y | ||
) |
returns the value at given position in normalized coordinates for each dimension <0..1>
float FlowChannel::normalizeValue | ( | float | val | ) |
scales the value according to the channel minimum and maximum, so that it lies inside of <0,1>
void FlowChannel::setValue | ( | int | vtxID, |
float | val | ||
) |
sets the value of the given vertex