00001 #if !defined(AFX_FLOWVISVIEW_H__CA073943_0A40_47BC_9BD8_983369CB57CE__INCLUDED_) 00002 #define AFX_FLOWVISVIEW_H__CA073943_0A40_47BC_9BD8_983369CB57CE__INCLUDED_ 00003 00004 #if _MSC_VER > 1000 00005 #pragma once 00006 #endif // _MSC_VER > 1000 00007 // FlowVisView.h : Header-Datei 00008 // 00009 00010 #include <math.h> 00011 #include <GL/glut.h> 00012 #include <GL/glaux.h> 00013 #include "FlowVis.h" 00014 #include "DistanceMeassureAcceleratioGrid.h" 00015 00016 class CFlowVisApp; 00018 // Rahmen FlowVisView 00019 00020 00022 class FlowVisView : public CFrameWnd 00023 { 00024 //DECLARE_DYNCREATE(FlowVisView) 00025 public: 00026 FlowVisView(); 00027 virtual ~FlowVisView(); 00028 00029 // Attribute 00030 public: 00031 00032 // Operationen 00033 public: 00034 DistanceMeassureAcceleratioGrid* getDistanceMeassureAcceleratioGrid(); 00035 float getDSep(); 00036 float getDTest(); 00037 float getDT(); 00038 void setDSep(float param); 00039 void setDTest(float param); 00040 void setDT(float param); 00041 00042 int dataSetLoaded(); 00043 float getArrowSizeFactor(); 00044 void setArrowSizeFactor(float sizeFactor); 00045 00046 int DrawGLScene(void); 00047 00048 bool getStreamlineView(); 00049 void setStreamlineView(bool show); 00050 00051 bool getBackgroundView(); 00052 void setBackgroundView(bool show); 00053 int getBackgroundIndex(); 00054 void setBackgroundIndex(int index); 00055 00056 bool getArrowPlotView(); 00057 void setArrowPlotView(bool show); 00058 int getArrowSize(); 00059 void setArrowSize(int size); 00060 int getArrowPlotStyle(); 00061 void setArrowPlotStyle(int style); 00062 00063 bool getColorCodingView(); 00064 void setColorCodingView(bool show); 00065 int getColorCodingDataIndex(); 00066 void setColorCodingDataIndex(int index); 00067 00068 00069 00070 // Überschreibungen 00071 // Vom Klassen-Assistenten generierte virtuelle Funktionsüberschreibungen 00072 //{{AFX_VIRTUAL(FlowVisView) 00073 //}}AFX_VIRTUAL 00074 00075 // Implementierung 00076 00077 HDC m_hgldc; 00078 HGLRC m_hglRC; 00079 00080 virtual BOOL PreCreateWindow( CREATESTRUCT& cs ); 00081 BOOL SetPixelformat(HDC hdc); 00082 int InitGL(void); 00083 void ReSizeGLScene(int width, int height); 00084 00085 protected: 00086 int m_ArrowSize; 00087 float m_ArrowSizeFactor; 00088 CFlowVisApp * m_App; 00089 00090 RsAddData * m_pBackgroundData; 00091 bool m_BackgroundShow; 00092 int m_BackgroundIndex; 00093 00094 bool m_ArrowPlotShow; 00095 bool m_StreamlineShow; 00096 00097 bool m_ColorCodingShow; 00098 int m_ColorCodingIndex; 00099 int m_ColorCodingDataIndex; 00100 RsAddData * m_pColorCodingData; 00101 00102 float m_WindowAspectRatio; 00103 int m_WindowHeight; 00104 int m_WindowWidth; 00105 00106 // streamline generation parameters 00107 float dSep; 00108 float dTest; 00109 float dT; 00110 00111 DistanceMeassureAcceleratioGrid* m_DistanceMeassureAcceleratioGrid; 00112 00113 // Generierte Nachrichtenzuordnungsfunktionen 00114 //{{AFX_MSG(FlowVisView) 00115 afx_msg void OnSize(UINT nType, int cx, int cy); 00116 afx_msg void OnPaint(); 00117 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); 00118 //}}AFX_MSG 00119 DECLARE_MESSAGE_MAP() 00120 private: 00121 int generateStreamlines(); 00122 int drawStreamlines(); 00123 int m_glyphStyle; 00124 int drawArrow(int posX, int posY, float vectorX, float vectorY, float scale); 00125 }; 00126 00128 00129 //{{AFX_INSERT_LOCATION}} 00130 // Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein. 00131 00132 #endif // AFX_FLOWVISVIEW_H__CA073943_0A40_47BC_9BD8_983369CB57CE__INCLUDED_