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.

522 lines
20 KiB
C

1 month ago
#ifndef WELLSECTION_H
#define WELLSECTION_H
#pragma once
#include "TObjectList.h"
#include "WellPoleLib/MultiWellSectionBase.h"
//////////////////////////////////////////////////////////////////////////////
//<2F>ļ<EFBFBD> WellSection.h
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
// <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/////////////////////////////////////////////////////////////////////////////
typedef struct MAPRANGE
{
int nID;
int nIndex;
int nType;
double fTop;
double fBottom;
double fLeft;
double fRight;
}Struct_MapRange;
typedef struct INTERVAL
{
public:
double fIntervalLength;
double fSpaceLength;
}Struct_Interval;
typedef struct INTERVALS
{
public:
double fBaseDepth;
double fTopDepth;
//typedef CArray <INTERVAL,INTERVAL>IntervalArr;
}Struct_Intervals;
typedef struct SECTIONWELL
{
public:
CString strWellName;
double fBaseDepth;
double fTopDepth;
double fLength;
double fHorzDistance;
Struct_Intervals Intervals;
}Struct_SectionWell;
typedef struct SECTIONOTHER
{
public:
SECTIONOTHER() { nID = -1; }
void Reset() { nID = -1; name.Empty(); strID.Empty(); }
int nID;
CString strID;
CString name;
}Struct_SectionOther;
/*pcg<63><67> WellSection <20>ķ<EFBFBD>Χm_position <20><><EFBFBD><EFBFBD>տ<EFBFBD>ʼ<EFBFBD><CABC>pcg<63><67> <sections><3E><> <section><3E>ڵ<EFBFBD><DAB5>е<EFBFBD> top , left ,bottom ,right<68>л<EFBFBD><D0BB>ã<EFBFBD>
<EFBFBD><EFBFBD>top<EFBFBD><EFBFBD>leftΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ComputeSectionRect()<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ReSetPosition()<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>m_position<EFBFBD><EFBFBD>
*/
//typedef TObjectList<CDrawObj> CDrawObjList;
class CBendObj;
class CFaultObj;
typedef TObjectList<CWellBaseObj>CWellBaseObjList;
class AFX_EXT_CLASS CWellSection : public CMultiWellSectionBase
{
public:
CWellSection(void);
~CWellSection(void);
//G_CLONE_ELEMENT(CWellSection)
virtual CBaseExtend* CreateClone();
virtual void* CloneElement(void);
virtual void Clone(CWellBaseObj& object);
virtual CString GetXmlType() { return _T("CrossSection"); }
public:
CString m_strTitleName; //<2F><><EFBFBD><EFBFBD>
CString m_strName; //section<6F>е<EFBFBD>title<6C><65>ȡ<EFBFBD><C8A1><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>Ϊ<EFBFBD><CEAA>ɸ<EFBFBD><C9B8>һ<EFBFBD><D2BB>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>-1
CString m_strWellStyle; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
CRect8 m_SectionRect; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1>Χ
CRect8 m_SectionSpaceRect;//<2F><><EFBFBD><EFBFBD><EBB6A5><EFBFBD>ס<EFBFBD><D7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵĿ<D2B5><C4BF><EFBFBD>
GDFLOGFONTEXT m_fontTitle; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GDFLOGFONTEXT m_fontWell; //<2F><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
GDFLOGFONTEXT m_fontTrack; //<2F><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
GDFLOGFONTEXT m_fontDepth; //<2F><><EFBFBD>ȱ<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
GDFLOGPENEXT m_penMajor; //<2F><><EFBFBD>̶<EFBFBD><CCB6><EFBFBD><EFBFBD><EFBFBD>
GDFLOGPENEXT m_penMinor; //<2F>ο̶<CEBF><CCB6><EFBFBD><EFBFBD><EFBFBD>
GDFLOGPENEXT m_penTrack; //<2F><><EFBFBD>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>
COLORREF m_BoundsColor; //<2F>߿<EFBFBD><DFBF><EFBFBD>ɫ
double m_fDepthScale; //<2F><><EFBFBD>ȱ<EFBFBD><C8B1><EFBFBD>
double m_fLevelScale; //<2F><><EFBFBD>α<EFBFBD><CEB1><EFBFBD>
double m_fHorzScale; //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD>
double m_fDisplayScale;//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
double m_fTop; //<2F><><EFBFBD>ɰ<EFBFBD><C9B0>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>
double m_fBottom; //<2F><><EFBFBD>ɰ<EFBFBD><C9B0>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ׺<C4B5><D7BA><EFBFBD>
double m_WellDistance; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int m_nBoundsStyle; //<2F>߿<EFBFBD><DFBF><EFBFBD>ʽ1-<2D><><EFBFBD><EFBFBD>1,2-<2D><><EFBFBD><EFBFBD>2,3-<2D><><EFBFBD><EFBFBD>3,4-<2D><><EFBFBD><EFBFBD>4,5-<2D><><EFBFBD><EFBFBD>5,6-<2D><><EFBFBD><EFBFBD>6,289-˫<><CBAB>1,290-˫<><CBAB>2,291-˫<><CBAB>3,546-˫<><CBAB>4
int m_nPageVersion; //<2F><><EFBFBD><EFBFBD><EFBFBD>
int m_nLayerFlatten;//<2F><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>ʽ 0<><30><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD>1<EFBFBD><EFBFBD><E3B6A5>ƽ<EFBFBD><C6BD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ,3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ
int m_nIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int m_nWellCount; //<2F><><EFBFBD><EFBFBD><E6BEAE>
double m_dDepthRatio;
double m_dHorzRatio;
CWellBaseObjList m_WellList; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CWellBaseObjList m_BendList; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CWellBaseObjList m_FaultList; //<2F>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD>
CWellBaseObjList m_VirtualWellList; //<2F><><EFBFBD><EFBFBD><E2BEAE><EFBFBD><EFBFBD>
//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡPCG<43><47>ʽʹ<CABD><CAB9>
CWellBaseObjList SectionExtraList; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WELLOBJLIST ObjectExtraList; //<2F><><EFBFBD>񡢱<EFBFBD>ע<EFBFBD><D7A2><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CWellPole* PWellTemplate; //<2F><>ģ<EFBFBD><C4A3>ָ<EFBFBD><D6B8>
CString m_CopyrightName; //<2F><>Ȩ
CString m_VersionType;
CString m_BendLithoResult;
CXy* m_pBendLithoSymbol;
protected:
DWORD m_nWellSectionFlags;// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6BFAA>״̬
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Flags
enum WellSectionFlags
{
WellSectionFlagBounds = 0x0001, // <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WellSectionFixedDistance = 0x0002, // <20>̶<EFBFBD><CCB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WellSectionRealLevel = 0x0004, // <20><><EFBFBD><EFBFBD>ʵ<EFBFBD>ľ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ƽ
WellSectionStratumSmooth = 0x0008, // ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WellSectionVisible = 0x0010, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WellSectionActivate = 0x0020, // <20>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
WellSectionDrawTitleDefault = 0x0040, // <20>Ƿ<EFBFBD>ȱʡ<C8B1><CAA1><EFBFBD>ƾ<EFBFBD><C6BE><EFBFBD><EFBFBD><EFBFBD>
WellSectionShowLayoutGrid = 0x0080, // <20>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
WellSectionWellsSameY = 0x0100, // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD>ƽʱ<C6BD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵľ<DFB5><C4BE>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>
WellSectionDrawWellVertDepth= 0x0200, // <20>Ƿ<EFBFBD>ʹ<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
DWORD m_nDisplayModeFlags;//<2F><>ʾģʽ
enum DisplayModeFlags
{
DisplayModeFlagsNormal = 0x0001, //ֱ<><D6B1>ģʽ
DisplayModeFlagsVerticalBevel = 0x0002, //б<><D0B1>ģʽ
DisplayModeFlagsVertical = 0x0004, //<2F><>ֱ<EFBFBD><D6B1>ģʽ
};
DWORD m_nSandVerDict; //<2F><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>
enum SandVerDictFlags
{
SandVerDictSynthesis = 0x0000, //<2F>ۺϽ<DBBA><CFBD><EFBFBD>
SandVerDictModel = 0x0001, //ģ<>ͽ<EFBFBD><CDBD><EFBFBD>
SandVerDictWellLogging = 0x0002, //<2F><EFBFBD><E2BEAE><EFBFBD><EFBFBD>
SandVerDictOilTestConlusion = 0x0004, //<2F><><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD>
SandVerDictWellRecord = SandVerDictModel|SandVerDictWellLogging, //¼<><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SandVerDictProduceTestConlusion = SandVerDictModel|SandVerDictOilTestConlusion, //<2F>Բɽ<D4B2><C9BD><EFBFBD>
};
DWORD m_nSedimentaryFacies; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
enum SedimentaryFaciesFlags
{
SedimentaryFaciesNone = 0x0000, //<2F><>
SedimentaryFaciesStratiUnit = 0x0001, //<2F><><EFBFBD>ʵ<EFBFBD>Ԫ
SedimentaryFaciesReservesUnit = 0x0002, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ
SedimentaryFaciesReservoirGroup = 0x0004, //<2F>Ͳ<EFBFBD><CDB2><EFBFBD>
SedimentaryFaciesSandSet = 0x0008, //ɰ<><C9B0><EFBFBD><EFBFBD>
SedimentaryFaciesSand = 0x0010, //<2F>ֲ<EFBFBD>
SedimentaryFaciesBlend = 0x0100, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
DWORD m_nLockEditFlags; //<2F><><EFBFBD><EFBFBD><EFBFBD>
enum LockEditFlags
{
LockEditWell = 0x0001, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LockEditBend = 0x0002, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LockEditFault = 0x0004, //<2F>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
protected:
//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡPCG<43><47>ʽʹ<CABD><CAB9>
CArray <Struct_MapRange, Struct_MapRange>MapsRangeArr; //<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>Χ<EFBFBD><CEA7>Ϣ
CArray <Struct_SectionWell,Struct_SectionWell>SectionWellArr;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><DABE><EFBFBD><EFBFBD><EFBFBD>Ϣ
CArray <Struct_SectionOther,Struct_SectionOther>m_SectionStrataArr;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
CArray <Struct_SectionOther,Struct_SectionOther>SectionFaultsArr;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶϲ<DAB6><CFB2><EFBFBD><EFBFBD><EFBFBD>Ϣ
CArray <Struct_SectionOther,Struct_SectionOther>SectionCalloutsArr;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD>ͼԪ<CDBC><D4AA><EFBFBD><EFBFBD>Ϣ
public:
virtual int Read(CFile& fr, const short& ver);
virtual void Write(CFile& fw, const short& ver);
virtual BOOL IsWriteDfd() { return FALSE; }
virtual void Serialize(CArchive& ar, const short &ver);
virtual void Draw(CXyDC* pDC);
virtual void DrawBounds(CXyDC* pDC);
void operator=(const CWellSection& curve);
void CloneOtherParameter(const CWellSection& wellSection);
void Clear(void);
virtual void MoveTo(CRect8& position);
virtual void MoveChildren();//<2F>ƶ<EFBFBD><C6B6>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
virtual CWellBaseObj* ObjectAt(const CRect8& rect, double dHandleSize, BOOL bNesting=FALSE);
virtual void SetPenGrid(GDFLOGPENEXT& penmajor, GDFLOGPENEXT& penminor);
virtual void SetTrackPen(GDFLOGPENEXT&pen);
virtual void SetWellfont(GDFLOGFONTEXT& font);
virtual void SetTrackfont(GDFLOGFONTEXT& font);
virtual void SetDepthfont(GDFLOGFONTEXT& font);
virtual void ReSetScaleHor(double dScale);
virtual void ReSetScaleVer(double dScale);
virtual void ReSetWellDistanse(double dDis);
virtual CRect8 GetRect(void);
virtual CBendObj* CreateBendObj() { return new CBendObj; }
////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bend<6E><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD>Ҷ˵<D2B6><CBB5><EFBFBD><79>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>ĸ߶<C4B8> pBend <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
virtual void ComputeBendPosition(CBendObj* pBend,double &valueLeft,double &valueRight,double &heightLeft,double &heightRight);
//// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B0B4>λ<EFBFBD><CEBB>ƽ<EFBFBD>Ƕϲ<C7B6><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı
virtual void ComputeFaultControl();
//// ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߸ı<DFB8><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
virtual void ComputeBendControlsHeight(CInTrackDepthSegment* pLayer, BOOL bLeft);
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
virtual void ComputeSectionPosition();
////<2F><><EFBFBD>㾮λ<E3BEAE><CEBB>
virtual void ComputeWellPosition(double fTop);
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD>ָ<EFBFBD>븳ֵ
virtual void AssignBendLayer(CBendObj* pBend);
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bend<6E><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual void RankLayerBendList();
// <20><><EFBFBD><EFBFBD><E3BEAE><EFBFBD>ĺ<EFBFBD><C4BA>θı<CEB8><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>Ƶ<EFBFBD> <20>ϲ<EFBFBD><CFB2>Ŀ<EFBFBD><C4BF>Ƶ<EFBFBD> pWell<6C><EFBFBD>ľ<EFBFBD> fdelta <20><>λ<EFBFBD><CEBB>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>ı<C4B1><E4BBAF>
virtual void ComputeControls(CWellPole* pWell, double fdelta);
/////
/*
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽʱ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>û<EFBFBD><EFBFBD>ƣ<EFBFBD>FALSE<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>û<EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TRUE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κͲ<EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BaseDepth = TopDepth <EFBFBD><EFBFBD><EFBFBD>ζ<EFBFBD><EFBFBD><EFBFBD>ƽ
BaseDepth = TOpDepth + Length <EFBFBD><EFBFBD><EFBFBD>ε׵<EFBFBD><EFBFBD><EFBFBD>ƽ
BaseDepth = ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ƽ
BaseDepth = ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ
*/
//<2F><><EFBFBD><EFBFBD>FlatLeveBase<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>ʽ
virtual void Flat();
//// PCG<43><47><EFBFBD><EFBFBD><EABEAE><EFBFBD>ݺ<EFBFBD><DDBA><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
///////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A3A8><EFBFBD><EFBFBD>ͬһ<CDAC>ھ<EFBFBD><DABE><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򿽱<EFBFBD><F2BFBDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>;
virtual void AllotWellsAndBends();
/////<2F><><EFBFBD>ӷ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӷ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A4>(x<><EFBFBD><E1B7BD>)
void ComputeExTendLengthOfX();
//<2F><>λ<EFBFBD><CEBB>ƽ TRUE<55><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ FALSE <20><EFBFBD><E3B6A5>ƽ
virtual void FlatLayer(CBendObj* pBend, BOOL bBot);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ TRUE<55><45><EFBFBD>ζ<EFBFBD><CEB6><EFBFBD>ƽ FALSE <20><><EFBFBD>ε׵<CEB5><D7B5><EFBFBD>ƽ
virtual void FlatWell(BOOL bTop);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵλ<CAB5>ðڷ<C3B0>
virtual void FlatRealPosition(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBBEAE><EFBFBD>ֲ<EFBFBD><D6B2>Ĺ<EFBFBD>ϵ
virtual void BuildBendsRelation(BOOL bFault=TRUE);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual void BuildBends();
////ɾ<><C9BE>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>
virtual void DeleteBend(CBendObj* pBend);
// <20><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD>bend <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>
void ReComputeBendsY();
//<2F>ݹ麯<DDB9><E9BAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD>bendѰ<64><D1B0>
void RecursionBend(CBendObj* pBend, CWellBaseObjList &WellListTemp,double value,BOOL b);//b=0:<3A><><EFBFBD><EFBFBD><E3B6A5>ƽ<EFBFBD><C6BD>b=1;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ
//<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>
virtual void ReComputeBends( CWellPole* pWell);
//<2F>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صIJ<D8B5>λ
void ReBuildBends(CFaultObj* pFault);
void ReBuildBends( CWellPole* pWell);
virtual void ReSetPosition();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual void Add(CWellBaseObj* pObj);
//<2F><><EFBFBD><EFBFBD>ͼԪ<CDBC><D4AA><EFBFBD>͹<EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
static CWellBaseObj* CreateObj(int eType);
/* ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>ת<EFBFBD><D7AA> */
virtual double DepthToScreenY(double dDepth /* ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m */);
virtual double ScreenYToDepth(double dY);
virtual double HeightToScreenCY(double dHeight /* <20>߶<EFBFBD>m */); // <20><><EFBFBD><EFBFBD>mתΪ<D7AA>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>
virtual double ScreenCYToHeight(double dCY); //<2F>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򳤶<EFBFBD><F2B3A4B6><EFBFBD>
virtual double WidthToScreenCX(double dWidth/* ʵ<>ʿ<EFBFBD><CABF><EFBFBD>cm */);
virtual double ScreenCXToWidth(double dCX);
//<2F><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>ֵ
virtual void SetWellSectionFlags(DWORD flags);
virtual DWORD GetWellSectionFlags();
virtual void SetShowBounds(BOOL bFlag);
virtual void SetFixedDistance(BOOL bFlag);
virtual void SetRealLevel(BOOL bFlag);
virtual void SetStratumSmooth(BOOL bFlag);
virtual void SetVisible(BOOL bFlag);
virtual void SetActivate(BOOL bFlag);
virtual void SetDrawTitleDefault(BOOL bFlag);
virtual void SetLayoutGrid(BOOL bFlag);
virtual void SetWellsSameY(BOOL bFlag);
virtual void SetDrawWellVertDepth(BOOL bFlag);
virtual BOOL IsShowBounds();
virtual BOOL IsFixedDistance();
virtual BOOL IsRealLevel();
virtual BOOL IsStratumSmooth();
virtual BOOL IsVisible();
virtual BOOL IsActivate();
virtual BOOL IsDrawTitleDefault();
virtual BOOL IsShowLayoutGrid();
virtual BOOL IsWellsSameY();
virtual BOOL IsDrawWellVertDepth();
void SetDisplayMode(DWORD flags);
void SetDisplayModeNormal(BOOL bFlag);
void SetDisplayModeVerticalBevel(BOOL bFlag);
void SetDisplayModeVertical(BOOL bFlag);
DWORD GetDisplayMode();
BOOL IsDisplayModeNormal();
BOOL IsDisplayModeVerticalBevel();
BOOL IsDisplayMoedVertical();
void SetSedimentaryFacies(DWORD flags);
void SetSedimentaryFaciesNone(BOOL bFlag);
void SetSedimentaryFaciesStratiUnit(BOOL bFlag);
void SetSedimentaryFaciesReservesUnit(BOOL bFlag);
void SetSedimentaryFaciesReservoirGroup(BOOL bFlag);
void SetSedimentaryFaciesSandSet(BOOL bFlag);
void SetSedimentaryFaciesSand(BOOL bFlag);
void SetSedimentaryFaciesBlend(BOOL bFlag);
DWORD GetSedimentaryFacies();
BOOL IsSedimentaryFaciesNone();
BOOL IsSedimentaryFaciesStratiUnit();
BOOL IsSedimentaryFaciesReservesUnit();
BOOL IsSedimentaryFaciesReservoirGroup();
BOOL IsSedimentaryFaciesSandSet();
BOOL IsSedimentaryFaciesSand();
BOOL IsSedimentaryFaciesBlend();
void SetSandVerDict(DWORD flags);
void SetSandVerDictSynthesis(BOOL bFlag);
void SetSandVerDictModel(BOOL bFlag);
void SetSandVerDictWellLogging(BOOL bFlag);
void SetSandVerDictOilTestConlusion(BOOL bFlag);
void SetSandVerDictWellRecord(BOOL bFlag);
void SetSandVerDictProduceTestConlusion(BOOL bFlag);
DWORD GetSandVerDict();
BOOL IsSandVerDictSynthesis();
BOOL IsSandVerDictModel();
BOOL IsSandVerDictWellLogging();
BOOL IsSandVerDictOilTestConlusion();
BOOL IsSandVerDictWellRecord();
BOOL IsSandVerDictProduceTestConlusion();
void SetLockEditWell(BOOL bFlag);
void SetLockEditBend(BOOL bFlag);
void SetLockEditFault(BOOL bFlag);
BOOL IsLockEditWell();
BOOL IsLockEditBend();
BOOL IsLockEditFault();
void MakeFaultFromFaultPoint();//<2F>ɶϵ<C9B6><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶϲ<C9B6>
void SetAllWellColumnLineShape(double dw);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еľ<D0B5><C4BE><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>ڲ<EFBFBD><DAB2><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void DeleteAllFaults();
void DeleteOneFault(CFaultObj *pFault);
CWellPole* FindWell(CString strWell);
//<2F><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
virtual void SetActionNoSaveData(BOOL b);
virtual void TransferData(CWellBaseObj* pObj);
CBendObj* FindBend(CString leftWell, CString rightWell, int nleftLayerId, int nRightLayerId);
CFaultObj* FindFault(CString faultName);
virtual void Transform(CXyDC* pDC, float* matrix, BOOL bUndo);
//virtual void Transform(float* matrix, BOOL bUndo);
void SetScale(double xScale, double yScale);
protected:
void SetFaultsHorz(double oldRatio,double newRatio,void *pLeftWell,CRect8 lOldWellRect,void *pRigntWell,CRect8 rOldWellRect);
//// <20>ɰ汾<C9B0><E6B1BE><EFBFBD><EFBFBD>PCGʱ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A4><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ʽ
void ComputeExtendModeAndLength();
///<2F>°<EFBFBD><C2B0><EFBFBD><EFBFBD><EFBFBD>PCG<43><47><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void SetStratumLinkType();
//ת<><D7AA><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
void ConvertMarkToGroup();
//<2F><><EFBFBD>ݾ<EFBFBD><DDBE><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CWellPole* FindWell(int nId);
void SetStratumLinkType_ResForm();
public:
//DML<4D><4C>д<EFBFBD><D0B4><EFBFBD><EFBFBD>PCG<43><47>д<EFBFBD><D0B4>
virtual int ReadDML(CFile &fr, const short &ver);
virtual void WriteDML(CFile &fw, const short& ver, int nBaseTabNum);
//PCG<43><47>д
virtual int ReadPCG(CFile &fr, const short &ver );
virtual void WritePCG(CFile &fw, const short& ver, int nBaseTabNum);
virtual void ReadPCGEnd();
virtual int ReadPCG_Head(CXmlParse &xp,const short& ver);
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 int ReadPCG_VirtualWells(CFile &fr,const short& ver);
virtual int ReadPCG_Faults(CFile &fr,const short& ver);
virtual int ReadPCG_Bends(CFile &fr,const short& ver);
virtual int ReadPCG_Strata(CFile &fr,const short& ver);
virtual int ReadPCG_Datas(CFile &fr,const short& ver);
virtual int ReadPCG_Callouts(CFile &fr,const short& ver);
virtual int ReadPCG_DoucmentTextBox(CFile &fr,const short& ver);
virtual int ReadPCG_StylesSection(CFile &fr,CXmlParse& xp,const short& ver);
virtual int ReadPCG_TitleSection(CFile &fr,const short& ver);
virtual int ReadPCG_MarkSection(CFile &fr,const short& ver);
virtual int ReadPCG_RangeSection(CXmlParse& xp,const short& ver);
virtual int ReadPCG_WellsSection(CFile &fr,const short& ver);
virtual int ReadPCG_StrataSection(CFile &fr,const short& ver);
virtual int ReadPCG_FaultsSection(CFile &fr,const short& ver);
virtual int ReadPCG_CalloutsSection(CFile &fr,const short& ver);
virtual int ReadPCG_Intervals(CFile &fr,const short& ver,Struct_SectionWell &SectionWellInfor);
virtual int PCG_ReadMapsRange(CFile &fr,const short& ver);
virtual int ReadPCG_Text(CFile &fr,CXmlParse& xp,const short &ver);
virtual int ReadPCG_Ruler(CFile &fr,CXmlParse& xp,const short &ver);
virtual int ReadPCG_Picture(CFile &fr,CXmlParse& xp,const short &ver);
virtual int ReadPCG_Figure(CFile &fr,CXmlParse& xp,const short &ver);
virtual int ReadPCG_Lines(CFile &fr,CXmlParse& xp,const short &ver);
virtual int ReadPCG_Legend(CFile &fr,CXmlParse& xp,const short &ver);
virtual int ReadPCG_ScaleBox(CFile &fr,CXmlParse& xp,const short &ver);
virtual void WritePCG_Head(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> ͷ<><CDB7><EFBFBD><EFBFBD>
virtual void WritePCG_Tail(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> β<><CEB2><EFBFBD><EFBFBD>
virtual void WritePCG_Feature(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20><><EFBFBD><EFBFBD>
virtual void WritePCG_Sections(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20><><EFBFBD><EFBFBD>
virtual void WritePCG_Wells(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20><>
virtual void WritePCG_VirtualWells(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20>
virtual void WritePCG_Faults(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20>ϲ<EFBFBD>
virtual void WritePCG_Bends(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual void WritePCG_Datas(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20><><EFBFBD><EFBFBD>
virtual void WritePCG_Strata(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual void WritePCG_Callouts(CFile &fw, const short& ver,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>ע
virtual void WritePCG_Title(CFile &fw,int nBaseTabNum);
virtual void WritePCG_Styles(CFile &fw,int nBaseTabNum);
virtual void WritePCG_Marks(CFile &fw,int nBaseTabNum);
virtual void WritePCG_ShowRange(CFile &fw,int nBaseTabNum);
virtual void WritePCG_MapsRange(CFile &fw,int nBaseTabNum);
virtual void WritePCG_SectionWells(CFile &fw,int nBaseTabNum);
virtual void WriteDML_Head(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> ͷ<><CDB7><EFBFBD><EFBFBD>
virtual void WriteDML_Tail(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> β<><CEB2><EFBFBD><EFBFBD>
virtual void WriteDML_Feature(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20><><EFBFBD><EFBFBD>
virtual void WriteDML_Sections(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20><><EFBFBD><EFBFBD>
virtual void WriteDML_Wells(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20><>
virtual void WriteDML_VirtualWells(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20>
virtual void WriteDML_Faults(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20>ϲ<EFBFBD>
virtual void WriteDML_Datas(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20><><EFBFBD><EFBFBD>
virtual void WriteDML_Strata(CFile &fw,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual void WriteDML_Callouts(CFile &fw, const short& ver,int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>ע
virtual int ReadDML_Feature(CXmlParse &xp,const short& ver);
protected:
void WriteXml_Strata(CFile &fw,int nBaseTabNum,int xmlId = 1); // xmlId = 1(dml), xmlId=2(pcg);
virtual void ComputeSectionRect();
void PCG1_0_SetBend();
void SetWellForBend(CBendObj *pBend);
public:
DWORD ComputedBends(std::vector<CBendObj*>* pBendVcs);
public :
virtual int ReadPCG(CKXmlParse& xp, const short &ver);
virtual int ReadDML_Feature(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_Head(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_Feature(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_Section(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_Wells(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_VirtualWells(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_Faults(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_Bends(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_Strata(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_Datas(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_Callouts(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_DoucmentTextBox(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_StylesSection(CKXmlParse& xp, const short& ver);
virtual int ReadPCG_TitleSection(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_MarkSection(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_RangeSection(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_WellsSection(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_StrataSection(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_FaultsSection(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_CalloutsSection(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_Intervals(CKXmlParse &xp, const short& ver, Struct_SectionWell &SectionWellInfor);
virtual int PCG_ReadMapsRange(CKXmlParse &xp, const short& ver);
virtual int ReadPCG_Text(CKXmlParse &xp, const short &ver);
virtual int ReadPCG_Ruler(CKXmlParse &xp, const short &ver);
virtual int ReadPCG_Picture(CKXmlParse &xp, const short &ver);
virtual int ReadPCG_Figure(CKXmlParse &xp, const short &ver);
virtual int ReadPCG_Lines(CKXmlParse &xp, const short &ver);
virtual int ReadPCG_Legend(CKXmlParse &xp, const short &ver);
virtual int ReadPCG_ScaleBox(CKXmlParse &xp, const short &ver);
};
#endif