|
|
#pragma once
|
|
|
#include "WellStructDefine.h"
|
|
|
#include "WellClassObjGroup.h"
|
|
|
#include "TrackObj.h"
|
|
|
#include "TrackGroup.h"
|
|
|
#include "Data/DataObj_Curve.h"
|
|
|
///井轨迹测量点
|
|
|
struct TrajectoryMeasurePoint
|
|
|
{
|
|
|
double fMeasureDepth; //测量点井深
|
|
|
double fMeasureAzimuth; //测量点方位角
|
|
|
double fMeasureBevel; //测量点井斜角
|
|
|
};
|
|
|
typedef CArray<TrajectoryMeasurePoint> MeasurePointArr;
|
|
|
|
|
|
class AFX_EXT_CLASS CWellPole : public CTrackGroup //CWellClassObjGroup
|
|
|
{
|
|
|
friend class CTrackObj;
|
|
|
public:
|
|
|
CWellPole();
|
|
|
CWellPole(const CRect8& position);
|
|
|
virtual ~CWellPole();
|
|
|
|
|
|
public:
|
|
|
|
|
|
CRect8 GetHeadRect() { return m_HeadRect; };
|
|
|
|
|
|
double GetTotalWellColumnLen();//得到井的柱子长度
|
|
|
EWellType m_eWellType;
|
|
|
|
|
|
void SetWellType(EWellType type) { m_eWellType = type; };
|
|
|
EWellType GetWellType() { return m_eWellType; }
|
|
|
public:
|
|
|
virtual int Read(CFile& fr, const short& ver);
|
|
|
virtual void Write(CFile& fw, const short& ver);
|
|
|
|
|
|
virtual void* CloneElement(void);
|
|
|
virtual CBaseExtend* CreateClone();
|
|
|
void operator=(CWellPole &wellObj);
|
|
|
//设置深度比例
|
|
|
void SetDepthProportion(double p) { m_fProportion = p; }
|
|
|
//获取深度比例
|
|
|
double GetDepthProportion(void) { return m_fProportion; }
|
|
|
|
|
|
struct well_interval
|
|
|
{
|
|
|
double top;
|
|
|
double bottom;
|
|
|
double Spacedis;//距离上个井段的间距 ,是逻辑长度,不是深度长度
|
|
|
|
|
|
well_interval() { Spacedis = 100; }
|
|
|
};
|
|
|
std::vector<well_interval> *GetIntervalVec() { return &m_WellIntervalVec; }
|
|
|
|
|
|
void AddWellInterval(double top, double bottom, double Spacedis = 100);//距离上个井段的间距 ,是逻辑长度,不是深度长度
|
|
|
int GetIntervalID(double depth); //由深度得到深度段ID
|
|
|
double GetIntervalLength(int interId);//
|
|
|
double GetIntervalBottom(int interId);
|
|
|
double GetIntervalTop(int interId);
|
|
|
double GetIntervalSpaceDis(int interId); //某个井段的空白间距
|
|
|
|
|
|
void SetIntervalTop(int interId, double top);
|
|
|
void SetIntervalBottom(int interId, double bottom);
|
|
|
void SetIntervalSpaceDis(int interId, double spaceDis);
|
|
|
double GetTotalWellLength();//得到井的总长度单位是米
|
|
|
double GetTotalSpacedis();
|
|
|
int GetDepthInWell(double posY, double & retdepth); //由位置反算其在某个井段的深度。 返回这个位置所在的井段id号。如果-1则不在井段内
|
|
|
int GetPosIntervalID(double posY, int &preId);////由位置反算其在某个井段内,如果返回制返回值是-1,不在有效井段内;preId是指前一个井段ID,如果返回值是-1,preID>-1表示本次深度是在井断preID和preID+1之间
|
|
|
|
|
|
// 井基类Flags
|
|
|
enum WellFlags
|
|
|
{
|
|
|
WellFlagTitle = 0x0001, // 显示井标题
|
|
|
WellFlagHeadBounds = 0x0002, // 显示井头外框
|
|
|
WellFlagBodyBounds = 0x0004, // 显示井身外框
|
|
|
WellFlagTrace = 0x0008, // 显示井轨迹
|
|
|
WellFlagLeftView = 0x0010, // 左视
|
|
|
WellFlagTrackCorra = 0x0020, // 井斜校正
|
|
|
WellFlagShowDepth = 0x0040, // 显示深度
|
|
|
WellFlagShow = 0x0080 // 显示井本身
|
|
|
};
|
|
|
|
|
|
|
|
|
protected:
|
|
|
std::vector<well_interval> m_WellIntervalVec;
|
|
|
protected:
|
|
|
void Init();
|
|
|
protected:
|
|
|
DWORD m_nWellFlags; // 井开关状态
|
|
|
CString m_strWellName;
|
|
|
CString m_strSymbolProvider;
|
|
|
public:
|
|
|
GDFLOGPENEXT m_penTrack; // 道框笔
|
|
|
GDFLOGPENEXT m_penGridMajor; // 主刻格线笔
|
|
|
GDFLOGPENEXT m_penGridMinor; // 次刻格线笔
|
|
|
GDFLOGFONTEXT m_fontTrack; // 道头字体
|
|
|
//LOGFONT m_lfontTrack;
|
|
|
GDFLOGFONTEXT m_fontHeadMark; // 道头刻度字体
|
|
|
// LOGFONT m_lfontHeadMark;
|
|
|
GDFLOGFONTEXT m_fontGridMark; // 深度刻度字体
|
|
|
// LOGFONT m_lfontGridMark;
|
|
|
double m_fMajorSpace; // 主深度标注间隔
|
|
|
double m_fMinorSpace; // 副深度标注间隔
|
|
|
double m_fProportion; // 深度比例
|
|
|
double m_fLevel; // 补心海拔
|
|
|
|
|
|
double m_fMarginLR; // 左右空白范围 (以毫米计算)
|
|
|
double m_fMarginTB; // 上下空白范围
|
|
|
double m_dSdep;
|
|
|
double m_dEdep;
|
|
|
|
|
|
double m_dDepthRatio;
|
|
|
double m_dLevel;
|
|
|
double m_dHeightWellHead; // 井头高度
|
|
|
double m_dHeightTrackHead; // 道头高度
|
|
|
double fHighTableHead; // 头表格高度
|
|
|
double fHighTableFoot; // 尾表格高度(图例)
|
|
|
CPoint2D m_TraceStartPt; // 轨迹起始点对应的逻辑坐标点
|
|
|
double m_HeadLineAngle; // 井头旋转角度,逆时针
|
|
|
double m_level_proportion; //水平比例 (涉及dml,pcg文件的读取问题,当读取文件时无法分清楚是否是直井或斜井,所以放在这儿)
|
|
|
//如果是斜井,这些用来存储偏转后的井头四个点的坐标及中心点,四个点依次对应矩形的左上,右上,右下,左下(每次井size时计算)
|
|
|
CCurveEx m_HeadCurve;
|
|
|
INCLINEDWELLSTRUCTLIST m_InclinedWellList;
|
|
|
int m_nXjDataType; //斜井数据类型
|
|
|
BOOL m_bResForm;
|
|
|
CString m_CopyrightName;
|
|
|
protected:
|
|
|
TRACKLIST TrackObjListTmp; // 道临时链表
|
|
|
DWORD nFlagsActionTmp; // 操作类的临时开关(写模板、备份等使用)
|
|
|
public:
|
|
|
|
|
|
double GetTrackHeadHigh();
|
|
|
|
|
|
void SetWellName(CString strName) {m_strWellName = strName;};
|
|
|
CString GetWellName() { return m_strWellName; }
|
|
|
CCurve& GetWellHeadCurve() { return m_HeadCurve; };
|
|
|
//重写范围函数,加上底图表范围
|
|
|
virtual void GetRange(CRect8& range);
|
|
|
virtual CRect8 GetRect(void);
|
|
|
|
|
|
//计算井对象及其包含的道对象大小
|
|
|
virtual void CalculateSize(CPoint2D point);
|
|
|
|
|
|
//将对象添加到子对象链表
|
|
|
//virtual void Add(CObjectBase* pObj);
|
|
|
//添加标题对象
|
|
|
virtual void AddObjTitle();
|
|
|
//重新计算井内非道子对象和道内子对象的位置
|
|
|
virtual void ResetAllObjectsPosition(double offset, CRect8 orig_position);
|
|
|
|
|
|
virtual void AddTrack(CTrackObj* pTrackObj);
|
|
|
//virtual void SetParentObj(CObjectBase * pobjParent);
|
|
|
|
|
|
//井全局参数设置
|
|
|
virtual void SetPenWell(GDFLOGPENEXT& pen);
|
|
|
virtual void SetFontWell(GDFLOGFONTEXT& font);
|
|
|
virtual void SetPenTrack(GDFLOGPENEXT& pen);
|
|
|
virtual void SetPenGrid(GDFLOGPENEXT& penmajor, GDFLOGPENEXT& penminor);
|
|
|
virtual void SetFontTrack(GDFLOGFONTEXT& font, BOOL bReplaceClr = TRUE);
|
|
|
virtual void SetFontHeadMark(GDFLOGFONTEXT& font, BOOL bReplaceClr = TRUE);
|
|
|
virtual void SetFontGridMark(GDFLOGFONTEXT& font);
|
|
|
virtual void SetSpace(double major, double minor);
|
|
|
virtual void SetTitle(CString text, BOOL bShow = TRUE);
|
|
|
|
|
|
//开关变量值
|
|
|
virtual void SetWellFlags(DWORD flags);
|
|
|
virtual void SetShowTitle(BOOL bFlag);
|
|
|
virtual void SetShowHeadBounds(BOOL bFlag);
|
|
|
virtual void SetShowBodyBounds(BOOL bFlag);
|
|
|
virtual void SetShowTrace(BOOL bFlag);
|
|
|
virtual void SetLeftView(BOOL bFlag);
|
|
|
virtual void SetTrackCorra(BOOL bFlag);
|
|
|
virtual void SetShowDepth(BOOL bFlag);
|
|
|
virtual void SetShow(BOOL bFlag);
|
|
|
|
|
|
virtual DWORD GetWellFlags();
|
|
|
virtual BOOL IsShowTitle();
|
|
|
virtual BOOL IsShowHeadBounds();
|
|
|
virtual BOOL IsShowBodyBounds();
|
|
|
virtual BOOL IsShowTrajectory();
|
|
|
virtual BOOL IsLeftView();
|
|
|
virtual BOOL IsTrackCorra();
|
|
|
virtual BOOL IsShowDepth();
|
|
|
virtual BOOL IsShow();
|
|
|
|
|
|
//重设井参数
|
|
|
virtual void ReSetWellTitle();
|
|
|
//当井的宽度,或者道的数量发生变化,就调整交会图交互对象
|
|
|
virtual void ReSetCurveCrossPos();
|
|
|
//井深度发生变化,就调整相应的交会图交互对象
|
|
|
virtual void ResetCurveCrossWelldepth();
|
|
|
//清除所有井内方波曲线
|
|
|
virtual void ClearAllCurveBlock();
|
|
|
//根据名称获取曲线对象
|
|
|
CTrackCurve *GetObjCurveFromName(CString curveName);
|
|
|
|
|
|
//查找道移动到的新位置(返回值0纵向,1横向)
|
|
|
int FindTrackPosition(CTrackObj* pMovingTrackObj, CPoint2D& ptBegin, CPoint2D& ptEnd);
|
|
|
CTrackObj* FindDataRefTrackPcg(LPCTSTR lpszDataRef, BOOL bAdd);
|
|
|
|
|
|
////绘制井操作
|
|
|
virtual void DrawTrackHead(CXyDC*pDC);
|
|
|
//绘制井头,示例线,文字
|
|
|
virtual void DrawWellHead(CXyDC* pDC);
|
|
|
//绘制井体,曲线,背景网格
|
|
|
virtual void DrawWellBody(CXyDC* pDC);
|
|
|
//绘制井头边线
|
|
|
virtual void DrawWellHeadLine(CXyDC* pDC);
|
|
|
//绘制井体边线
|
|
|
virtual void DrawWellBodyLine(CXyDC* pDC);
|
|
|
//绘制井外框
|
|
|
virtual void DrawWellFrameLine(CXyDC* pDC);
|
|
|
////绘制井头外框
|
|
|
virtual void DrawWellHeadFrameLine(CXyDC* pDC);
|
|
|
|
|
|
virtual void DrawWellBodyFrameLine(CXyDC* pDC);
|
|
|
|
|
|
virtual void Draw(CXyDC* pDC);
|
|
|
|
|
|
///判断道是否是组合道中的道
|
|
|
// virtual BOOL IsInTrackGroup(CTrackGroup* pTrackGroup, CTrackObj* pTrack);
|
|
|
|
|
|
//绘制头尾表格
|
|
|
//virtual void DrawTableHead(CXyDC* pDC);
|
|
|
//virtual void DrawTableTail(CXyDC* pDC);
|
|
|
|
|
|
//重写交互操作
|
|
|
virtual int HitTest(CPoint2D point, double dHandleSize, BOOL bSelected);
|
|
|
virtual int GetHandleCount();
|
|
|
virtual CPoint2D GetHandle(int nHandle);
|
|
|
virtual void MoveChildren();//移动子对象的位置
|
|
|
virtual void MoveTo(CRect8& position);
|
|
|
virtual void MoveHandleTo(int nHandle, CPoint2D point);
|
|
|
virtual CWellBaseObj* ObjectAt(const CRect8& rect, double dHandleSize, BOOL bNesting = FALSE);
|
|
|
|
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
|
|
|
|
/* 实际坐标与屏幕坐标(是绘图的逻辑坐标,不是屏幕坐标像素)转换 */
|
|
|
double DepthToScreenY(double dDepth /* 实际深度m */); //深度米转为按井的位置计算的逻辑位置。
|
|
|
double ScreenYToDepth(double dY); //逻辑位置转为按井的位置计算的深度。
|
|
|
double HeightToScreenCY(double dHeight /* 高度m */); // 长度m转为井逻辑长度
|
|
|
double ScreenCYToHeight(double dCY); //逻辑长度转井的纵向长度mi
|
|
|
|
|
|
////根据井内道的宽度计算井的宽度
|
|
|
virtual double ComputeWellWidth();
|
|
|
|
|
|
//读完道内容后调用
|
|
|
virtual void ComputeReadTrackEnd();
|
|
|
|
|
|
|
|
|
//重设道头高度
|
|
|
virtual void ReSetTrackHead();
|
|
|
//重设井头高度
|
|
|
virtual void ReSetWellHead();
|
|
|
|
|
|
//应用模板
|
|
|
TRACKLIST& GetTemplateList();
|
|
|
virtual void ApplingTemplate(BOOL bFlag = FALSE, double dOldTrackHead = 0.0, double dOldWellHead = 0.0);
|
|
|
void ApplingTemplate(PCG_WELLCOLARRAY & wellColArr);
|
|
|
void ApplingTemplate(PCG_WELLTEMPCOL* pWellColParent, CTrackGroup* pParentGroup);
|
|
|
|
|
|
|
|
|
double GetHeadLineAngle() { return m_HeadLineAngle; }
|
|
|
CPoint2D & GetTraceStartPt() { return m_TraceStartPt; };
|
|
|
void SetRotateHeadAngleDC(CXyDC *pDC);
|
|
|
void RecoverRotateHeadAngleDC(CXyDC *pDC);
|
|
|
virtual CPoint2D ReCalculatePoint(CPoint2D point);// 斜井状况下,需要计算一些井头区域的点在直井情况下的位置
|
|
|
|
|
|
void SetWellColumnAvgWidth(double dw); //将井柱按照设置的宽度均匀分配给井内各道
|
|
|
CPoint2D GetAnchorPoint() { return m_HeadRect.TopLeft(); }; //得到井计算位置的锚点
|
|
|
|
|
|
////从string vector中读取数据 转换后存入m_InclinedWellVec 2015-9-6
|
|
|
//void LoadFromStringVec(vector<vector<CString> >& stringVector);
|
|
|
//// 计算、填充斜井数据
|
|
|
virtual void ComputeTrajectory(void);
|
|
|
void ComputeTrajectory(double azimuth, double bevel,
|
|
|
double dep, double &depV,
|
|
|
double xo, double yo, double &x, double &y);
|
|
|
//计算投影数据
|
|
|
void ComputeProjection(double k,
|
|
|
double x3, double y3,
|
|
|
double &x4, double &y4);
|
|
|
double GetVDepth(double depth);
|
|
|
|
|
|
void SetWellDepth(double sdep, double edep);//对于默认是一个井段的情况,用这个功能设置井初始值
|
|
|
|
|
|
BOOL IsInWellTrackHead(CRect8& range); //在井头部及道头部区域
|
|
|
//数据转移
|
|
|
virtual void TransferData(CWellBaseObj* pObj);
|
|
|
//void GetAllTrack(TRACKLIST* trackList);
|
|
|
CTrackGroup& GetTrackGroup() { return *(CTrackGroup*)this; }
|
|
|
virtual void SerializeHead(CArchive& ar, const short& ver);
|
|
|
CWellPole* CreateWellObj(DWORD type);
|
|
|
BOOL FindWellColumn(PCG_WELLCOLARRAY & wellColArr, CString strColRef);
|
|
|
BOOL m_bVWell; //是否将带井斜的井柱按照垂深显示(直井柱有两种情况,一种是直接的直井,一种是斜井按照垂直深度显示,所以计算井口轨迹的数据,方法放在井柱对象中)
|
|
|
double m_k; //投影面方程斜率(定为投影面过原点)
|
|
|
|
|
|
CString m_strTrajectoryTrackName;// 井身轨迹名称
|
|
|
int m_nMeasureCount; // 测量点总数
|
|
|
MeasurePointArr m_MeasurePointsArr; // 测量点数据
|
|
|
|
|
|
void CloneOtherParameter(const CWellPole & wellObj);
|
|
|
|
|
|
std::vector<CWellDataObj_Curve*> m_CurveDataVecs; //保存一些道中不显示的曲线,用来备用
|
|
|
|
|
|
virtual void Transform(CXyDC* pDC, float* matrix, BOOL bUndo);
|
|
|
//virtual void Transform(float* matrix, BOOL bUndo);
|
|
|
void SetScale(double xScale, double yScale);
|
|
|
|
|
|
public:
|
|
|
virtual BOOL IsWellStyleSimple();
|
|
|
protected:
|
|
|
|
|
|
//CTrackGroup m_TrackObjGroup;
|
|
|
|
|
|
public:
|
|
|
//PCG读写
|
|
|
virtual int ReadPCG(CFile &fr, const short &ver);
|
|
|
virtual void WritePCG(CFile &fw, const short& ver, int nBaseTabNum);
|
|
|
virtual void ReadPCGEnd();
|
|
|
//pcg读取
|
|
|
virtual int ReadPCG_Head(CXmlParse &xp, const short& ver);
|
|
|
virtual int ReadPCG_Styles(CFile &fr, CXmlParse &xp, const short& ver, BOOL bDml = FALSE);
|
|
|
virtual int ReadPCG_WellTemplate(CFile &fr, const short& ver, PCG_WELLCOLARRAY & wellColArr);
|
|
|
virtual int ReadPCG_WellColumn(CXmlParse &xp, CFile &fr, const short& ver, PCG_WELLTEMPCOL* pWellColParent, int& totalCount);
|
|
|
virtual int ReadPCG_Traces(CFile &fr, const short& ver, PCG_WELLCOLARRAY & wellColArr);
|
|
|
virtual int ReadPCG_Datas(CFile &fr, const short &ver);
|
|
|
//virtual int ReadPCG_Exts(CFile &fr, const short &ver);
|
|
|
virtual int ReadPCG_CallOuts(CFile &fr, const short &ver);
|
|
|
virtual int ReadPCG_Trajectory(CFile &fr, CXmlParse &xp, const short &ver);
|
|
|
|
|
|
//pcg写入
|
|
|
virtual void WritePCG_Head(CFile &fw, int nBaseTabNum); //pcg文件中 头部分
|
|
|
virtual void WritePCG_Tail(CFile &fw, int nBaseTabNum); //pcg文件中 尾部分
|
|
|
virtual void WritePCG_PrintTemplate(CFile &fw, int nBaseTabNum); //pcg文件中 打印模板
|
|
|
virtual void WritePCG_Symbols(CFile &fw, const short& ver, int nBaseTabNum); //pcg文件中 符号部分
|
|
|
virtual void WritePCG_Styles(CFile &fw, int nBaseTabNum, BOOL bDml = FALSE); //pcg文件中 样式部分
|
|
|
virtual void WritePCG_WellTemplate(CFile &fw, int nBaseTabNum); //pcg文件中 井模板
|
|
|
virtual void WritePCG_WellColumn(CFile &fw, int nBaseTabNum, CTrackGroup* pTrackGroupParent); //pcg文件中写组合道模板
|
|
|
virtual void WritePCG_Traces(CFile &fw, int nBaseTabNum); //pcg文件中 道部分
|
|
|
virtual void WritePCG_Trajectory(CFile &fw, int nBaseTabNum); //pcg文件中 井轨迹
|
|
|
virtual void WritePCG_Datas(CFile &fw, int nBaseTabNum); //pcg文件中 道数据
|
|
|
//virtual void WritePCG_Exts(CFile &fw,int nBaseTabNum); //pcg文件中 自定义扩展
|
|
|
virtual void WritePCG_CallOuts(CFile &fw, const short& ver, int nBaseTabNum);
|
|
|
virtual void WritePCG_WellIntervals(CFile &fw, int nBaseTabNum);
|
|
|
protected:
|
|
|
int ReadPCG_Styles_Title(CFile &fr, CXmlParse &xp, const short& ver);
|
|
|
int ReadPCG_Styles_Grid(CFile &fr, CXmlParse &xp, const short& ver);
|
|
|
int ReadPCG_Styles_Border(CFile &fr, CXmlParse &xp, const short& ver);
|
|
|
int ReadPCG_Styles_Splitline(CFile &fr, CXmlParse &xp, const short& ver);
|
|
|
int ReadPCG_Styles_Track(CFile &fr, CXmlParse &xp, const short& ver);
|
|
|
|
|
|
void WritePCG_Styles_Title(CFile &fw, int nBaseTabNum);
|
|
|
void WritePCG_Styles_Grid(CFile &fw, int nBaseTabNum);
|
|
|
void WritePCG_Styles_Border(CFile &fw, int nBaseTabNum);
|
|
|
void WritePCG_Styles_Splitline(CFile &fw, int nBaseTabNum);
|
|
|
void WritePCG_Styles_Track(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
int ReadPCG_WellIntervals(CFile &fr, CXmlParse &xp, const short& ver); //读取井段数据
|
|
|
/////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
public:
|
|
|
typedef struct _WellHeadLockInfo
|
|
|
{
|
|
|
BOOL bLock; //是否锁住了井头
|
|
|
double dShowStartDep;//锁住井头后可以显示的井段起始深度
|
|
|
double dShowEndDep; ///锁住井头后可以显示的井段结束深度
|
|
|
std::vector<well_interval> m_BakWellIntervalVec; //用来备份原有的显示井段
|
|
|
}WELLHEADLOCKINFO;
|
|
|
WELLHEADLOCKINFO m_LockHeadInfo;
|
|
|
|
|
|
void SetHeadLockState(BOOL block = FALSE, double sdep = 0, double edep = 0);
|
|
|
void SetHeadLockStateDepth(double sdep, double edep); //在井头锁定情况下, 井柱体移动时设置显示的井段。
|
|
|
double GetHeadLockStartDepth();
|
|
|
double GetHeadLockEndDepth();
|
|
|
double GetDepthLength() { return (m_dEdep - m_dSdep); };
|
|
|
double GetTrackStartTop() { return m_position.top - m_dHeightTrackHead - m_dHeightWellHead; }
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
virtual int ReadPCG(CKXmlParse& xp, const short &ver);
|
|
|
virtual int ReadPCG_Head(CKXmlParse &xp, const short& ver);
|
|
|
virtual int ReadPCG_Styles(CKXmlParse &xp, const short& ver, BOOL bDml = FALSE);
|
|
|
virtual int ReadPCG_WellTemplate(CKXmlParse &xp, const short& ver, PCG_WELLCOLARRAY & wellColArr);
|
|
|
virtual int ReadPCG_WellColumn(CKXmlParse &xp, const short& ver, PCG_WELLTEMPCOL* pWellColParent, int& totalCount);
|
|
|
virtual int ReadPCG_Traces(CKXmlParse& xp, const short& ver, PCG_WELLCOLARRAY & wellColArr);
|
|
|
virtual int ReadPCG_Datas(CKXmlParse& xp, const short &ver);
|
|
|
virtual int ReadPCG_CallOuts(CKXmlParse& xp, const short &ver);
|
|
|
virtual int ReadPCG_Trajectory(CKXmlParse& xp, const short &ver);
|
|
|
int ReadPCG_Traces_GetTraceProps(CKXmlParse& xp, PCG_TRACECOL& traceCol);
|
|
|
protected:
|
|
|
int ReadPCG_Styles_Title(CKXmlParse &xp, const short& ver);
|
|
|
int ReadPCG_Styles_Grid(CKXmlParse &xp, const short& ver);
|
|
|
int ReadPCG_Styles_Border(CKXmlParse &xp, const short& ver);
|
|
|
int ReadPCG_Styles_Splitline(CKXmlParse &xp, const short& ver);
|
|
|
int ReadPCG_Styles_Track(CKXmlParse &xp, const short& ver);
|
|
|
int ReadPCG_WellIntervals(CKXmlParse &xp, const short& ver); //读取井段数据
|
|
|
};
|