#include <FlowGeometry.h>
Public Member Functions | |
~FlowGeometry () | |
deletes the allocated geometry storage | |
bool | getInterpolationAt (vec3 pos, int *vtxID, float *coef) |
Returns true if inside. Stores the vertex indices and interpolation weights for the given position in the arrays. | |
bool | readFromFile (char *header, FILE *fp, bool bigEndian) |
reads the geometry gris data from a file | |
int | getDimX () |
returns the number of vertices in X dimension | |
int | getDimY () |
returns the number of vertices in Y dimension | |
int | getDimZ () |
returns the number of vertices in Z dimension, is always 1 | |
float | getMinX () |
returns the minimum in the X dimension | |
float | getMaxX () |
returns the maximum in the X dimension | |
float | getMinY () |
returns the minimum in the Y dimension | |
float | getMaxY () |
returns the maximum in the Y dimension | |
int | getRightNeigh (int vtxID) |
returns the vertex ID of the neighbour on its right | |
int | getTopNeigh (int vtxID) |
returns the vertex ID of the neighbour on its top | |
int | getLeftNeigh (int vtxID) |
returns the vertex ID of the neighbour on its left | |
int | getBottomNeigh (int vtxID) |
returns the vertex ID of the neighbour on its bottom | |
vec3 | normalizeCoords (vec3 pos) |
compression of coordinates in each dimension separately, returns values scaled to <0,1> | |
vec3 | unNormalizeCoords (vec3 pos) |
inverts the compression. From values of <0,1> it restores the real geometrical coordinates | |
Private Member Functions | |
int | getVtx (int x, int y) |
returns general vtxID for the vertex array indexes | |
int | getVtxX (int vtxID) |
returns X index for the general vtxID | |
int | getVtxY (int vtxID) |
returns Y index for the general vtxID | |
int | getXYvtx (vec3 pos) |
returns X index of the last vertex lying left to the position x and the Y index of the last vertex lying under the position y | |
vec3 | getPos (int vtxID) |
returns the position of the vertex | |
float | getPosX (int vtxID) |
returns the x position of the vertex | |
float | getPosY (int vtxID) |
returns the y position of the vertex | |
int | getNearestVtx (vec3 pos) |
a very slow and dumb routine, that finds the nearest vertex to the given position | |
Private Attributes | |
int | dim [2] |
resolution of the data for the dimensions X, Y | |
vec3 | boundaryMin |
minimum boundary values for the dataset geometry sotred as {minX, minY) | |
vec3 | boundaryMax |
maximum boundary values for the dataset geometry sotred as (maxX, maxY) | |
vec3 | boundarySize |
boundary sizes for the dataset geometry sotred as (maX - minX, maxY - minY) | |
vec3 * | geometryData |
Storage for the geometry. | |
bool | isFlipped |
indicates whether the x and y axes have to be swaped | |
Friends | |
class | FlowData |
bool FlowGeometry::getInterpolationAt | ( | vec3 | pos, | |
int * | vtxID, | |||
float * | coef | |||
) |
Returns true if inside. Stores the vertex indices and interpolation weights for the given position in the arrays.
Stores the indexes and weights of vertices surrounding the given position. This information can be used later on for interpolation of channel values.
pos | geometrical position for the lookup | |
vtxID | list of surrounding vertices (given by vertex ID) | |
coef | list of surrounding vertex weights (sum == 1.0) |