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.

72 lines
2.4 KiB
C

1 month ago
/**************************************************************************************
դ״ͼ<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