FlowGeometry Class Reference

class for handling the geometry == rectangular grids organized in vertices and cells More...

#include <FlowGeometry.h>

List of all members.

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)
vec3geometryData
 Storage for the geometry.
bool isFlipped
 indicates whether the x and y axes have to be swaped

Friends

class FlowData


Detailed Description

class for handling the geometry == rectangular grids organized in vertices and cells

Member Function Documentation

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.

Parameters:
pos geometrical position for the lookup
vtxID list of surrounding vertices (given by vertex ID)
coef list of surrounding vertex weights (sum == 1.0)
Returns:
true if the given position is inside of the geometrical boundaries


The documentation for this class was generated from the following files:

Generated on Mon Jan 19 03:19:32 2009 by  doxygen 1.5.6