// MediumLandfillDiagonally.h: interface for the CMediumLandfillDiagonally class. // ////////////////////////////////////////////////////////////////////// #ifndef AFX_MEDIUM_LANDFILL_DIAGONALLY_H__20190918_INCLUDED_ #define AFX_MEDIUM_LANDFILL_DIAGONALLY_H__20190918_INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "Medium3D.h" #include "DialCustomSptInput.h" class CMediumLandfillDiagonally : public CMedium3D { public: CMediumLandfillDiagonally(int iAR); virtual ~CMediumLandfillDiagonally(); virtual bool GenerateSptRecElecVal(int iEAmount, int* pMaxLevel, int* pPtAmount, CPtrArray* pSptRecArray){ return true; } virtual float CalculateCESptKVal(float fA, float fB, float fX, float fY); virtual void CalculateSptPtLoc(int iMul, CSptRecord* pSptRecord){ return; } //计算脚本测点位置(iMul---in:倍数,pSptRecord---in:脚本记录) virtual int GenSptRecLevel(int iA, int iB, int iM, int iN) { return 0; } //计算脚本记录层数(iA---in:A,iB---in:B,iM---in:M,iN----in:N) virtual int GenSptRecPosInLevel(int iA, int iB, int iM, int iN){ return 0; } //计算每层脚本记录位置(iA---in:A,iB---in:B,iM---in:M,iN----in:N) virtual int GetMaxLevelByEAmount(int iEAmount){ return 0; } virtual void ReSortPoint(CPtrArray *f_ptr){ return; } virtual void SetParamVal(const void* pVal); virtual bool SortMulChannelSpt(CPtrArray* pSptRecArr){ return m_sortMulChannelSpt.MultiChannlePtCplSort(pSptRecArr); } void SetPointCPosition(char *f_type, int f_x, int f_y){ return; } //3D脚本接口 void create(){ m_scr = NULL; }//创建脚本 void SetRect(int x0, int y0, int x1, int y1){ rect_init(&m_rect, x0, y0, x1, y1); } //设置矩形大小 void setZone(bool enable, int zonec, int *zonev){ return; } //设置需要生成测点的象限 BOOL setPoleStart(int startpole){ return TRUE; } //设置测点的起始位置 BOOL generate(){ return TRUE; } //执行脚本生成 int getPoleStart(){ return 1; } //获取起始电极 int getPoleCount(){ return (m_rect.x1 - m_rect.x0 + 1)*(m_rect.y1 - m_rect.y0 + 1); } //获取电极总数 struct _rect * getRect(){ return &m_rect; } //获取矩阵 void SaveScr(){ return; } //生成脚本文件 void SetPoleDistance(DOUBLE f_dis_x, DOUBLE f_dis_y){ m_fXPoleSpace = f_dis_x; m_fYPoleSpace = f_dis_y; } void SetPoleStep(int f_step_x, int f_step_y){ return; } virtual bool GenerateSptRecElecVal3D(int nSplittedNum, CScript3D *pScript, int* pPtAmount, CPtrArray* pSptRecArray); protected: struct _rect m_rect; float m_fXPoleSpace; float m_fYPoleSpace; int m_iXGridSzie; int m_iYGridSize; }; #endif // !defined(AFX_MEDIUM_LANDFILL_DIAGONALLY_H__20190918_INCLUDED_)