You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.2 KiB
C++

#ifndef VIRTUALWELL_H
#define VIRTUALWELL_H
#pragma once
//////////////////////////////////////////////////////////////////////////////
//文件 VirtualWell.h
//主要功能:
// 虚拟井类
/////////////////////////////////////////////////////////////////////////////
#include "SectionWellObj.h"
struct BendMapStuct
{
int BendKeyID1;
int BendKeyID2;
double BendValueLevel;
int BendValue;
};
typedef CArray<BendMapStuct, BendMapStuct> BENDMAPARR; //结构数组
class AFX_EXT_CLASS CVirtualWellObj : public CSectionWellObj
{
public:
CVirtualWellObj(void);
~CVirtualWellObj(void);
public:
BENDMAPARR m_BendMapArr;
public:
virtual void Serialize(CArchive& ar, const short &ver);
virtual void Draw(CXyDC* pDC);
virtual void MoveTo(CRect8& position);
virtual int HitTest(CPoint2D point, double dHandleSize, BOOL bSelected);
virtual int GetHandleCount();
virtual CPoint2D GetHandle(int nHandle);
virtual void MoveHandleTo(int nHandle, CPoint2D point);
virtual void GetRange(CRect8& range);
virtual CRect8 GetRect(void);
//计算层位置
virtual void ComputeBendValueLevel();
virtual int ReadPCG(CFile &fr,const short& ver);
virtual void WritePCG(CFile &fw,int nBaseTabNum); //pcg文件
public:
virtual int ReadPCG(CKXmlParse& xp, const short& ver);
};
#endif