// SaveInRes.h: interface for the CSaveInRes class. // ////////////////////////////////////////////////////////////////////// #include #include "scriptor.h" //测试方法的定义 const int Res = 0x01; const int IP = 0x02; #if !defined(AFX_SAVEINRES_H__1810BA80_AE59_446C_B729_58E351D0C52E__INCLUDED_) #define AFX_SAVEINRES_H__1810BA80_AE59_446C_B729_58E351D0C52E__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CSaveInRes { public://function BOOL CreateResFile(CString szFilePath); //打开需要创建的res文件 void AddFileHeader(int method, int mediumType, CStringArray *szDataArray); //添加文件头 void InitCEFileHeader(CStringArray *szArray); void Init2DFileHeader(CStringArray *szArray); void Init3DFileHeader(CStringArray *szArray); BOOL AddDateToFile(CStringArray *szDateArray); //添加文件主体 BOOL CloseFile(); //关闭文件 BOOL WriteLandInform(CStringArray *f_szArray); //添加地型文件 BOOL AddElectrodeTitle(CStringArray* szArray); //添加电极坐标标题 BOOL AddElectrodeCoordinatesInfo(CStringArray* szArray); //写入电极坐标信息 CSaveInRes(); virtual ~CSaveInRes(); public://attribute void SetPoleStep(int f_StepX, int f_StepY); void Dipole_Dipole_2D(CStringArray *szSRCArray, CStringArray *szTARArray); void Pole_Dipole_2D(CStringArray *szSRCArray, CStringArray *szTARArray); void Pole_Dipole_3D(CStringArray *szSRCArray, CStringArray *szTARArray); void Add_3D_LandFile(CStringArray *szSRCArray); void Set_3D_LandSign(int f_type); void AddCEModel(CStringArray *szArray); void CE_Res_Schlumberger(CStringArray *szSRCArray, CStringArray *szTARArray); void CE_Schlumberger(CStringArray *szSRCArray, CStringArray *szTARArray); void CE_Res_Marine(CStringArray *szSRCArray, CStringArray *szTARArray); //生成跨井钻孔的内容 void Cross_Hole_2D(CStringArray *szSRCArray, CStringArray *szTARArray); void SetCorssHoleParam(float fPapram,float fInitiDepth){m_fCrossHoleParam = fPapram;m_fInitiDepth = fInitiDepth;} //设置三维滚动方向 void Set3DRollDirction(int iRollDirection){m_i3DRollDiecetion = iRollDirection;} void SetMidGardientInfo(float fAPosX, float fAPosY, float fABDistance, float fMinAMDistance); //设置三维布线方向 void Set3DTestLineDirection(byte byLineDirection) { m_byLineDirection = byLineDirection; } //2d地型文件 int m_nLandSign; int m_nFirstPole; //共有属性 int m_methodType; private://function CString TransformMediumType(CString szMediumType); void WriteZero(int nCount); //2D void Wenner(CStringArray *szSRCArray, CStringArray *szTARArray);//温纳 void Schlumberger(CStringArray *szSRCArray, CStringArray *szTARArray);//斯伦贝谢 void dipole(CStringArray *szSRCArray, CStringArray *szTARArray);//偶极 void Wenner_Schlumberger_2D(CStringArray *szSRCArray, CStringArray *szTARArray);//温-斯装置 void GetCrossHoleSurfaceElectrode(float fPoleDis, float fCrosshole, int nHoleElectrodeNum,CStringArray* strArray); void A_M_ARRAY_2D(CStringArray *szSRCArray, CStringArray *szTARArray);//二维的二极AM装置 void AMN_ARRAY_2D(CStringArray *szSRCArray, CStringArray *szTARArray);//二维的三极AMN装置 void Custom_2D(CStringArray *szSRCArray, CStringArray *szTARArray); //二维的自定义装置 void CrossHole_2D(CStringArray *szSRCArray, CStringArray *szTARArray); //跨孔装置 //3D void WennerAlfa3D(CStringArray *szSRCArray, CStringArray *szTARArray);//温纳A void WennerBeta3D(CStringArray *szSRCArray, CStringArray *szTARArray);//温纳B void Schlumberger3D(CStringArray *szSRCArray, CStringArray *szTARArray);//斯伦贝谢 private://attribute void Gradient_3D(CStringArray *szSRCArray, CStringArray *szTARArray); void Pole_Pole_3D(CStringArray *szSRCArray, CStringArray *szTARArray); void Wenner_Y_2D(CStringArray *szSRCArray, CStringArray *szTARArray); void Reverse_Pole_dipole_2d(CStringArray *szSRCArray, CStringArray *szTARArray); void Pole_dipole_2d(CStringArray *szSRCArray, CStringArray *szTARArray); void Dipole_Dipole_3D(CStringArray *szSRCArray, CStringArray *szTARArray); void Mid_Gardient_Scan_3D(CStringArray *szSRCArray, CStringArray *szTARArray); void InitCeIpHeader(CStringArray *szArray); void InitCeResHeader(CStringArray *szArray); FILE *m_resFile; int m_MediumType; //2D CString m_szDistancePole; float m_fCrossHoleParam; float m_fPoleDistance; int m_iEAmount; float m_fInitiDepth; //3D _rect m_rect; CString m_szPoleStart; CString m_szX_DistancePole;//电极间距 CString m_szY_DistancePole; int m_nPoleStepX; int m_nPoleStepY; int m_i3DRollDiecetion; //三维滚动方向,这个用于合并任务时,1表示X轴方向合并,2表示Y轴方向合并 float m_fABDistance; float m_fMinAMDistance; float m_fAPosX; float m_fAPosY; //3D地型文件 int m_3DLandSign; byte m_byLineDirection; //1D }; #endif // !defined(AFX_SAVEINRES_H__1810BA80_AE59_446C_B729_58E351D0C52E__INCLUDED_)