FlowDrawer Class Reference

Klasse zum Zeichnen von FlowDaten. More...

#include <FlowDrawer.h>

List of all members.

Public Member Functions

 FlowDrawer (FlowData *data)
 Konstruktor.
 ~FlowDrawer (void)
 Destruktor.
void setAreaMax ()
 Setzt die Anzeige so, das alle Daten im Flow angezeigt werden.
vec3 mapPixel (int x, int y)
 Wandelt eine Pixelposition in eine Position in den FlowDaten um.
vec3 mapPoint (int x, int y)
 Wandelt eine Position in eine Position im Grid der FlowDaten um.
void setArea (vec3 min, vec3 max)
 Setzt einen Bereich der FlowDaten der anzeigt werden soll.
void setPixelArea (vec3 min, vec3 max)
 Setzt einen Bereich in Pixel in den Flowdaten der angezeigt werden soll.
void setWinSize (int w, int h)
 Setzt die Fenstergröße der Flowdatenanzeige.
void setSelection (vec3 min, vec3 max)
 Setzt einen Bereich der FlowDaten für Zooming.
void drawSelection (int x1, int y1, int x2, int y2)
 Zeichnet ein Auswahlrechteck.
void setViewPort ()
 Setzt den OpenGL Viewport passend für die Anzeige der FlowDaten.
void drawArrows (int arrowDistance, int what, int k)
 Zeichnet den ArrowPlot der FlowDaten.
void drawBackground (BasicFlow *flow)
 Zeichnet die Colorcoded-Skalar Darstellung der FlowDaten.
void drawStreamlines (float dsep, float dtest, int integrationMethod)
 Zeichnet die Streamlines für die FlowDaten.
float getPixels ()
 Liefert die Pixelbreite aller angezeigten Daten (Fenstergröße).
void setStreamLineParam (float dsep, float dtestpercent)
 Setzt die Parameter für die Berechung der Streamlines.
void drawOneStream (float x, float y)
 Zeichnet nur eine Streamline.

Protected Member Functions

float getArrowSize (vec3 &pos, int what, int k=0)
 Liefert die Größe der Pfeile im Arrowplot.

Protected Attributes

int width
int height
int imageWidth
int imageHeight
int imageSize
int drawWidth
int drawHeight
int winWidth
int winHeight
float aspect
rgba * memCanvas
GridAcceleratedStreamLines * lines
FlowData * flowData
vec3 minPos
vec3 maxPos


Detailed Description

Klasse zum Zeichnen von FlowDaten.

Diese Klasse übernimmt den hauptteil der Darstellung der FlowDaten. ArrowPlot, Streamlines und color-coded Background Skalarwerte.


Constructor & Destructor Documentation

FlowDrawer::FlowDrawer (  FlowData *  data  ) 
 

Konstruktor.

Parameters:
data Die FlowDaten aus dem Hauptprogramm.

FlowDrawer::~FlowDrawer (  void   ) 
 

Destruktor.


Member Function Documentation

void FlowDrawer::drawArrows (  int  arrowDistance,
int  what,
int  k
) 
 

Zeichnet den ArrowPlot der FlowDaten.

Parameters:
arrowDistance Der Abstand der Pfeile zueinander (Gridsize sozusagen)
what Welches Mapping soll zusätzlich auf die Pfeile angewendet werden.
k Index der zu Verwendenden zusätzlichen Daten (hängt auch von what ab).

void FlowDrawer::drawBackground (  BasicFlow *  flow  ) 
 

Zeichnet die Colorcoded-Skalar Darstellung der FlowDaten.

Parameters:
flow Welcher FlowTyp ist es (Speed, Direction, Additional Data)

void FlowDrawer::drawOneStream (  float  x,
float  y
) 
 

Zeichnet nur eine Streamline.

Parameters:
x Position des Seedpoints zum Start der Integration.
y Position des Seedpoints zum Start der Integration.

void FlowDrawer::drawSelection (  int  x1,
int  y1,
int  x2,
int  y2
) 
 

Zeichnet ein Auswahlrechteck.

Parameters:
x1 x-Wert des linken Eckpunktes
y1 y-Wert des linken Eckpunktes
x2 x-Wert des rechten Eckpunktes
y2 y-Wert des rechten Eckpunktes

void FlowDrawer::drawStreamlines (  float  dsep,
float  dtest,
int  integrationMethod
) 
 

Zeichnet die Streamlines für die FlowDaten.

Parameters:
dsep Abstand der Streamline Seedpoints
dtest Abstand der Streamlines bevor abgebrochen wird (% von dsep)
integrationMethod Integrationsmethode (EULER, RUNGE2, RUNGE4)

float FlowDrawer::getArrowSize (  vec3 &  pos,
int  what,
int  k = 0
)  [protected]
 

Liefert die Größe der Pfeile im Arrowplot.

Dient zum Mapping (oder auch nicht) der Arrowplotpfeile je nach Datenwerten.

Parameters:
pos aktuelle Position in den Datenwerten
what welches Mapping soll stattfinden
k Index der Additional Data (nicht zwingend notwendig).

float FlowDrawer::getPixels (   ) 
 

Liefert die Pixelbreite aller angezeigten Daten (Fenstergröße).

Wichtig für die Berechnung vom tatächlichen Dsep da dies von der Auflösung abhängt.

vec3 FlowDrawer::mapPixel (  int  x,
int  y
) 
 

Wandelt eine Pixelposition in eine Position in den FlowDaten um.

Parameters:
x x-Position
y y-Position

vec3 FlowDrawer::mapPoint (  int  x,
int  y
) 
 

Wandelt eine Position in eine Position im Grid der FlowDaten um.

Parameters:
x x-Position
y y-Position

void FlowDrawer::setArea (  vec3  min,
vec3  max
) 
 

Setzt einen Bereich der FlowDaten der anzeigt werden soll.

Angaben in Flow Auflösung.

Parameters:
min untere Grenze
max obere Grenze

void FlowDrawer::setAreaMax (   ) 
 

Setzt die Anzeige so, das alle Daten im Flow angezeigt werden.

void FlowDrawer::setPixelArea (  vec3  min,
vec3  max
) 
 

Setzt einen Bereich in Pixel in den Flowdaten der angezeigt werden soll.

Parameters:
min untere Grenze
max obere Grenze

void FlowDrawer::setSelection (  vec3  min,
vec3  max
) 
 

Setzt einen Bereich der FlowDaten für Zooming.

Parameters:
min untere Grenze
max obere Grenze

void FlowDrawer::setStreamLineParam (  float  dsep,
float  dtestpercent
) 
 

Setzt die Parameter für die Berechung der Streamlines.

Parameters:
dsep Dsep wie es vom Interface kommt (unkonvertiert)
dtestpercent % von dsep wie es vom Interface kommt (1-99)

void FlowDrawer::setViewPort (   ) 
 

Setzt den OpenGL Viewport passend für die Anzeige der FlowDaten.

void FlowDrawer::setWinSize (  int  w,
int  h
) 
 

Setzt die Fenstergröße der Flowdatenanzeige.

Parameters:
w Die Fensterbreite
h Die Fensterhöhe


Member Data Documentation

float FlowDrawer::aspect [protected]
 

int FlowDrawer::drawHeight [protected]
 

int FlowDrawer::drawWidth [protected]
 

FlowData* FlowDrawer::flowData [protected]
 

int FlowDrawer::height [protected]
 

int FlowDrawer::imageHeight [protected]
 

int FlowDrawer::imageSize [protected]
 

int FlowDrawer::imageWidth [protected]
 

GridAcceleratedStreamLines* FlowDrawer::lines [protected]
 

vec3 FlowDrawer::maxPos [protected]
 

rgba* FlowDrawer::memCanvas [protected]
 

vec3 FlowDrawer::minPos [protected]
 

int FlowDrawer::width [protected]
 

int FlowDrawer::winHeight [protected]
 

int FlowDrawer::winWidth [protected]
 


The documentation for this class was generated from the following files:
Generated on Sun Jan 15 17:55:58 2006 for Show The Flow by  doxygen 1.4.5