61 lines
2.7 KiB
C++
61 lines
2.7 KiB
C++
// MediumMidGardientScan.h: interface for the CMediumMidGardientScan class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_MEDIUMMIDGARDIENTSCAN_H__18E1E227_63EB_4349_941B_531F744FA85E__INCLUDED_)
|
|
#define AFX_MEDIUMMIDGARDIENTSCAN_H__18E1E227_63EB_4349_941B_531F744FA85E__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "Medium3D.h"
|
|
|
|
class CMediumMidGardientScan : public CMedium3D
|
|
{
|
|
public:
|
|
CMediumMidGardientScan(int iAR);
|
|
virtual ~CMediumMidGardientScan();
|
|
|
|
virtual bool GenerateSptRecElecVal(int iEAmount, int* pMaxLevel, int* pPtAmount, CPtrArray* pSptRecArray);
|
|
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:
|
|
STMidGarScanParam m_stMidGardientScan;
|
|
struct _rect m_rect;
|
|
float m_fXPoleSpace;
|
|
float m_fYPoleSpace;
|
|
int m_iXGridSzie;
|
|
int m_iYGridSize;
|
|
|
|
|
|
|
|
};
|
|
|
|
#endif // !defined(AFX_MEDIUMMIDGARDIENTSCAN_H__18E1E227_63EB_4349_941B_531F744FA85E__INCLUDED_)
|