54 lines
2.6 KiB
C++
54 lines
2.6 KiB
C++
// MediumLandfillDiagonally.h: interface for the CMediumLandfillDiagonally class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef AFX_MEDIUM_LANDFILL_ADJACENT_H__20190918_INCLUDED_
|
|
#define AFX_MEDIUM_LANDFILL_ADJACENT_H__20190918_INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "Medium3D.h"
|
|
#include "DialCustomSptInput.h"
|
|
class CMediumLandfillAdjacent : public CMedium3D
|
|
{
|
|
public:
|
|
CMediumLandfillAdjacent(int iAR);
|
|
virtual ~CMediumLandfillAdjacent();
|
|
|
|
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_)
|