|
|
|
|
|
/**************************************************************************************
|
|
|
|
|
|
|
|
|
|
|
|
դ״ͼ<EFBFBD><EFBFBD>
|
|
|
|
|
|
**************************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef WELLFENCE_H
|
|
|
|
|
|
#define WELLFENCE_H
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CWellFence : public CWellSection
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CWellFence(void);
|
|
|
|
|
|
virtual ~CWellFence(void);
|
|
|
|
|
|
//G_CLONE_ELEMENT(CWellFence)
|
|
|
|
|
|
virtual CString GetXmlType() { return _T("FenceDiagram"); }
|
|
|
|
|
|
public:
|
|
|
|
|
|
double m_xMin; //x<><78>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
|
|
|
|
|
|
double m_yMax; //y<><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double m_fHorzRatio; //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|
|
|
|
|
|
|
|
|
|
|
//////
|
|
|
|
|
|
double m_fReferenceY; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><C2BE>嶥λ<E5B6A5><CEBB>y<EFBFBD><79><EFBFBD>м<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕȸı<C8B8>ʱ<EFBFBD>IJο<C4B2><CEBF><EFBFBD>
|
|
|
|
|
|
double m_fCenterY; //<2F><><EFBFBD>о<EFBFBD><D0BE>嶥λ<E5B6A5><CEBB>y<EFBFBD><79><EFBFBD>м<EFBFBD>ֵ
|
|
|
|
|
|
CWellBaseObjList m_SortObjList; ///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual void* CloneElement(void);
|
|
|
|
|
|
virtual void Clone(CWellBaseObj& object);
|
|
|
|
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
|
|
|
|
virtual void Draw(CXyDC* pDC);
|
|
|
|
|
|
|
|
|
|
|
|
virtual CBendObj* CreateBendObj() { return new CFenceBendObj; }
|
|
|
|
|
|
|
|
|
|
|
|
void RotateWells(); //<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>µľ<C2B5>λ<EFBFBD><CEBB>
|
|
|
|
|
|
void ReComputeWells(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٴμ<D9B4><CEBC>㾮λ<E3BEAE><CEBB>
|
|
|
|
|
|
void ReComputeBends(); //<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
void ReComputeBends(CWellPole* pWell); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صIJ<D8B5>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD> <20><>ק<EFBFBD><D7A7> <20>϶<EFBFBD><CFB6><EFBFBD> <20><>ק<EFBFBD><D7A7><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void SortWellAndBendList(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void ReSetPosition(); //<2F><><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ͼ<EFBFBD>η<EFBFBD>Χ
|
|
|
|
|
|
|
|
|
|
|
|
virtual void BuildBends(); //<2F><><EFBFBD><EFBFBD>Bend<6E><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
void ReComputeFaults();
|
|
|
|
|
|
//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>
|
|
|
|
|
|
CPoint2D GetWellsCenterPoint();
|
|
|
|
|
|
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>y
|
|
|
|
|
|
double GetFenceCenterY();
|
|
|
|
|
|
|
|
|
|
|
|
///// <20><><EFBFBD>㾮λ<E3BEAE><CEBB>(fTop <20>Dzο<C7B2><CEBF><EFBFBD>)
|
|
|
|
|
|
virtual void ComputeWellPosition(double fTop);
|
|
|
|
|
|
///// <20><><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>λ<EFBFBD>÷<EFBFBD><C3B7>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void SortObject();
|
|
|
|
|
|
///// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ľ<EFBFBD>λ<EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>
|
|
|
|
|
|
virtual BOOL FindWellBehindBend(CBendObj* pBend, CWellPole* pWell);
|
|
|
|
|
|
////<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>ж<EFBFBD><D0B6><EFBFBD>
|
|
|
|
|
|
virtual CWellBaseObj* ObjectAt(const CRect8& rect, double dHandleSize, BOOL bNesting=FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
virtual int ReadPCG_Feature(CXmlParse &xp,const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_Section(CFile &fr,const short& ver);
|
|
|
|
|
|
virtual int ReadPCG_Wells(CFile &fr,const short& ver);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void WritePCG_Feature(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void WritePCG_Tail(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> β<><CEB2><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|