Main Page | Class Hierarchy | Class List | File List | Class Members

TStreamLine.h

00001 // TStreamLine.h: Schnittstelle für die Klasse TStreamLine.
00002 //
00004 
00005 #if !defined(AFX_TSTREAMLINE_H__F912A4C6_4965_4C43_A3B7_33E1D7FAB087__INCLUDED_)
00006 #define AFX_TSTREAMLINE_H__F912A4C6_4965_4C43_A3B7_33E1D7FAB087__INCLUDED_
00007 
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011 
00012 #include "TIntegrator.h"
00013 #include "TLinkedList.h"
00014 #include "parameter.h"
00015 #include "TIteratorInterface.h"
00016 #include <stdlib.h>
00017 
00018 class TCells
00019 {
00020 private:
00021         TLinkedList <TKoo3d<float> >* cellPoints; 
00022         TLinkedList <float>* cellPointDist;
00023         TLinkedList< TLinkedList <TKoo3d<float> > >* cells;
00024 
00025         int translateToCellIndex(int x, int y);
00026         int translateToCellIndex(float x, float y);
00027         TLinkedList <TKoo3d<float> >* getCellPoints(float x, float y);
00028         TLinkedList< TLinkedList <TKoo3d<float> > >* getCellLines(float x, float y);
00029         TLinkedList<float>* getCellPointDist(float x, float y);
00030 
00031         TLinkedList <TKoo3d<float> >* getCellPoints(int x, int y);
00032         TLinkedList< TLinkedList <TKoo3d<float> > >* getCellLines(int x, int y);
00033         TLinkedList<float>* getCellPointDist(int x, int y);
00034 
00035 
00036         st_parameter params;
00037 
00038         TKoo3d<float> topLeft;
00039         TKoo3d<float> bottomRight;
00040 
00041         int iResX;
00042         int iResY;
00043 
00044 
00045 public:
00046         TCells(TKoo3d<float> tl, TKoo3d<float> br, st_parameter& par);
00047         bool checkLine(TKoo3d<float>* pos, TLinkedList <TKoo3d<float> >* line, float dist, float minDist);
00048         float getMinDist(TKoo3d<float>* pos, TLinkedList <TKoo3d<float> >* line);
00049         void addLine(TKoo3d<float>* point, TLinkedList <TKoo3d<float> >* line, float dist);
00050         virtual ~TCells();
00051          
00052 };
00053 
00055 
00059 class TStreamLines  
00060 {
00061 
00062 private:
00063         
00064 
00065         st_parameter params;
00066         TFlowModel* flowMod;
00067         TIntegrator* integrator;
00068         TLinkedList< TLinkedList <TKoo3d<float> > > streamLines;
00069 
00070         TCells* cells;
00071 
00072         //TLinkedList< TKoo3d<float> >* genStreamLine(TKoo3d<float> startPos, TLinkedList< TKoo3d<float> >* cells,int resX, int resY);
00073 
00074 public:
00075         void drawStreamLine(TLinkedList <TKoo3d<float> >* line);
00076         TStreamLines(st_parameter& par,TIntegrator* i,TFlowModel* fm);
00077         TLinkedList <TKoo3d<float> >* genStreamLine(TKoo3d<float>& startPos, bool insertToCell=true, bool noCheck=false);
00078         void genStreamLineNextTo(TLinkedList <TKoo3d<float> >* startLine);
00079         void drawStreamLines();
00080         virtual ~TStreamLines();
00081 
00082 };
00083 
00084 #endif // !defined(AFX_TSTREAMLINE_H__F912A4C6_4965_4C43_A3B7_33E1D7FAB087__INCLUDED_)

Generated on Mon Jan 19 02:06:39 2004 for flowvis by doxygen 1.3.5