Main Page   Class Hierarchy   Compound List   File List   Compound Members  

VectorField.h

00001 // CVectorField.h: interface for the CVectorField class.
00002 //
00004 #include "Sampler.h"
00005 #include "Defines.h"
00006 
00007 #if !defined(AFX_VECTORFIELD_H__379CDB9A_8EBC_46E2_8CE3_F634ADB1C064__INCLUDED_)
00008 #define AFX_VECTORFIELD_H__379CDB9A_8EBC_46E2_8CE3_F634ADB1C064__INCLUDED_
00009 
00010 #if _MSC_VER > 1000
00011 #pragma once
00012 #endif // _MSC_VER > 1000
00013 
00015 
00022 class CVectorField
00023 {
00024 
00025 public:
00026         void CalcMinMaxScalars();
00028         void InitMinMaxPos();
00030         float GetXRange();
00032         float GetYRange();
00034         float GetZRange();
00035 
00037         float GetWindowXRange();
00039         float GetWindowYRange();
00041         float GetWindowZRange();
00042 
00044         void SetMinAdditional(int index, float value);
00046         void SetMaxAdditional(int index, float value);
00048         float GetMinAdditional(int index);
00050         float GetMaxAdditional(int index);
00052         void SetMinVectorLength(float vectorLength);
00054         float GetMinVectorLength();
00056         void SetMaxVectorLength(float vectorLength);
00058         float GetMaxVectorLength();
00059 
00061         void SetWinMinMaxPos(CPoint3D &minPos, CPoint3D &maxPos);
00063         void SetMinMaxPos(CPoint3D &minPos, CPoint3D &maxPos);
00065         void SetSeedMinMaxPos(CPoint3D &minPos, CPoint3D &maxPos);
00066 
00068         CSamplePoint ** GetSamplePoints(CPoint3D &pos);
00069                 
00071         void CreateField(CSampler *sampler, CProgressCtrl *progress);
00073         void SetDim(int XDim,int YDim, int ZDim);
00075         void SetVField(CSamplePoint &sp, int xIndex, int yIndex, int zIndex);
00077         int GetXDim();
00079         int GetYDim();
00081         int GetZDim();
00082         
00084         CSamplePoint *GetVField(int xIndex, int yIndex, int zIndex);
00085         
00087         CPoint3D m_MaxPos;
00089         CPoint3D m_MinPos;
00090         
00092         CPoint3D m_WinMaxPos;
00094         CPoint3D m_WinMinPos;
00095 
00097         CPoint3D m_SeedMaxPos;
00099         CPoint3D m_SeedMinPos;
00100         
00102         CVectorField();
00104         CVectorField(int xDim,int yDim,int zDim);
00105 
00106         virtual ~CVectorField();
00107 private:
00108         CSamplePoint *m_SurSp[8];
00109 
00110         float * m_MinAdditional;
00111         float * m_MaxAdditional;
00112 
00113         float m_MaxVectorLength;
00114         float m_MinVectorLength;
00115         
00117         int m_XDim,m_YDim,m_ZDim;
00118 
00120         CSamplePoint *** m_VField;
00121         
00122 };
00123 
00124 #endif // !defined(AFX_VECTORFIELD_H__379CDB9A_8EBC_46E2_8CE3_F634ADB1C064__INCLUDED_)

Generated on Fri Aug 9 10:12:39 2002 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002