|
|
|
|
|
#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>yֵ<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
|