00001
00002
00004
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_)