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
rgbamemCanvas
GridAcceleratedStreamLineslines
FlowDataflowData
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