Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

SL_StreamLine.h

Go to the documentation of this file.
00001 // StreamLine.h: interface for the StreamLine class.
00002 //
00004 
00005 #if !defined(AFX_SL_STREAMLINE_H__04E22EE9_17CB_4C47_A9D2_DE2D7A6BDD0E__INCLUDED_)
00006 #define AFX_SL_STREAMLINE_H__04E22EE9_17CB_4C47_A9D2_DE2D7A6BDD0E__INCLUDED_
00007 
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011 
00012 #include "misc.h"
00013 #include "GlobalState.h"
00014 
00015 
00016 #include <vector>
00017 #include <list>
00018 
00019 using namespace std;
00020 
00021 #include "SL_Interpolation.h"
00022 #include "SL_Inter_Euler.h"
00023 #include "SL_Inter_RungeKutter2.h"
00024 
00025 #include "SL_Grid.h"
00026 #include "SL_Base.h"
00027 
00028 //class SL_Interpolation;
00029 class SL_Interpolation;
00030 class SL_Inter_Euler;
00031 class SL_Inter_RungeKutter2;
00032 
00033 //class SL_Inter_RungeKutter4;
00034 
00035 class SL_Grid;
00036 
00037 class SL_StreamLine //:public CSL_Base
00038 {
00039 public:
00040         SL_StreamLine();
00041         //SL_StreamLine( SL_Grid* refToGrid  );
00042         SL_StreamLine( SL_Grid* refToGrid, CGlobalState* refState  );
00043         virtual ~SL_StreamLine();
00044 
00045         //bool AddStreamLineToGrid();
00046 
00047         void SetInterpolationMode( int iMode );
00048 
00049 
00050         //bool CreateStreamLine( float posx, float posy );
00051 //      bool CreateStreamLine( const Vec2f dot );
00052 
00053 //bool CreateStreamLine_directional( const Vec2f startDot, bool followFlow );
00054 
00055         bool CreateStreamLine_bidirectional( const Vec2f startDot );
00056         
00057         //bool CreateStreamLine_directional( float posx, float posy, bool followFlow );
00058 
00060         //bool CreateNewDot( const Vec2f* currentDot, bool interForward );
00061 
00063         bool CreateNewSeedPoint( const Vec2f currentDot,
00064                 //const Vec2f currentSpeed,
00065                 Vec2f &leftDot, Vec2f &rightDot );
00066 
00067         //bool CreateNeibourLines();
00068 
00069         void DrawGL();
00070 
00071 protected:
00074         //void remove();
00075 
00077         //void SetDotStepSize( float fDistDots, float fDsep );
00078 
00079         
00080 public:
00081         enum InterpolMode{ EULER = 1,RUNGE_KUTTER1, RENGE_KUTTER2 };
00082         vector< Vec2f > elements;
00083         //vector< Vec2f > elementsSpeed;
00084 
00085 protected:
00086         int interpolationMode;
00087         SL_Interpolation* interpolationPtr;
00088 
00089         SL_Grid*  refGrid;
00090 
00091         //CGlobalState* refState;
00092 
00094         //float fDistanceDots;
00095 
00097         float m_fDsep;
00098 
00099         CGlobalState* refState;
00100 
00101 };
00102 
00103 #endif // !defined(AFX_SL_STREAMLINE_H__04E22EE9_17CB_4C47_A9D2_DE2D7A6BDD0E__INCLUDED_)

Generated on Thu Jan 23 04:30:11 2003 for FlowVis- vector field in 2D by doxygen1.3-rc2