|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD>: CItem<65><6D><EFBFBD><EFBFBD>չ
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
// <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ྮ<EFBFBD><E0BEAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
|
|
|
|
#include "item.h"
|
|
|
|
|
|
#include "ItemWcsSingleWell.h"
|
|
|
|
|
|
|
|
|
|
|
|
class CSectionWellObj;
|
|
|
|
|
|
class CFaultObj;
|
|
|
|
|
|
class CWellSection;
|
|
|
|
|
|
typedef std::vector<CFaultObj*> FAULTVECTOR;
|
|
|
|
|
|
|
|
|
|
|
|
namespace NItem
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
class CItemWellSection :public CItemWcsSingleWell
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CItemWellSection(CSigmaDoc* pDoc);
|
|
|
|
|
|
~CItemWellSection(void);
|
|
|
|
|
|
|
|
|
|
|
|
virtual CItem* GetItem();// { return m_pItemSelected; }
|
|
|
|
|
|
|
|
|
|
|
|
virtual void OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point, int vk) override;
|
|
|
|
|
|
virtual void OnLButtonUp(CDC *pDC, UINT nFlags, CPoint point, int vk = 0) override;
|
|
|
|
|
|
virtual int OnMouseMove(CDC *pDC, UINT nFlags, CPoint point) override;
|
|
|
|
|
|
virtual void OnLButtonDblClk(UINT nFlags, CPoint point);
|
|
|
|
|
|
|
|
|
|
|
|
// virtual BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
|
|
|
|
|
|
virtual BOOL OnSetCursor(CPoint pt, int& handle);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void DoLButtonUp(CDC *pDC);
|
|
|
|
|
|
|
|
|
|
|
|
virtual int GetSubMenu();
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief <20><><EFBFBD>Ƹ<EFBFBD><C6B8><EFBFBD><EFBFBD>ֱ<EFBFBD> */
|
|
|
|
|
|
virtual void OnDraw(CXyDC* pXyDC);
|
|
|
|
|
|
virtual void OnDraw(CXyDC* pXyDC, CDC* pDC) override;
|
|
|
|
|
|
//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
CWellSection *GetWellSection();
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ͼԪ<CDBC><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Item
|
|
|
|
|
|
virtual CItemWellBase* CreateItem(CWellBaseObj* pObj);
|
|
|
|
|
|
|
|
|
|
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD>
|
|
|
|
|
|
void RemoveWell(CWellPole* pWellObj);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void Clear();
|
|
|
|
|
|
|
|
|
|
|
|
void SetState(BOOL bAdd) { m_bUseAddItem = bAdd; }
|
|
|
|
|
|
|
|
|
|
|
|
virtual void DeleteItem();
|
|
|
|
|
|
virtual int DeleteSelection(void);
|
|
|
|
|
|
|
|
|
|
|
|
/////
|
|
|
|
|
|
//////<2F>㰴<EFBFBD><E3B0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; pDrawObj<62><6A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ㣻nInt<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ʽ( 1=Left<66><74>2=Right)
|
|
|
|
|
|
void ConnectOnName(CWellBaseObj* pDrawObj,int nInt, std::vector<CWellBaseObj*>& linkbends);
|
|
|
|
|
|
//////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;BendList<73><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nInt<6E><74>1=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2=<3D>ң<EFBFBD><D2A3>ߵIJ<DFB5><C4B2>ɸߵ<C9B8><DFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void ReOrederList(WELLOBJLIST& BendList,int nInt);
|
|
|
|
|
|
//////<2F><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣻
|
|
|
|
|
|
//void ComputeBendPosition(CBendObj* pBend,double &valueLeft,double &valueRight);
|
|
|
|
|
|
/// Ӧ<>þ<EFBFBD>ģ<EFBFBD><C4A3>
|
|
|
|
|
|
void ApplingWellTemplate(BOOL bAll = FALSE);
|
|
|
|
|
|
void ApplingWellDbTemplate(BOOL bAll = FALSE);
|
|
|
|
|
|
void ApplingTemplateFile(CFile &fr,BOOL bAll);
|
|
|
|
|
|
////
|
|
|
|
|
|
virtual void SetDrawObj(CWellBaseObj* pObj) { m_pWellSection = (CWellSection*)pObj;}//= 0;
|
|
|
|
|
|
virtual CWellBaseObj* GetDrawObj();
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ʱ<EFBFBD>Ӿ<EFBFBD><D3BE>л<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
|
|
|
|
|
|
virtual void GetLegendObject(const CStringArray &StyleList,CRect8 rt);
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
////// <20>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD>ͼʱ<CDBC>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void CreateLayers();
|
|
|
|
|
|
virtual void BreakLayers();
|
|
|
|
|
|
|
|
|
|
|
|
void CreateLayers(std::vector<int>layersTrackType);
|
|
|
|
|
|
|
|
|
|
|
|
void MakeFaultFromFaultPoint() ;//<2F>ɶϵ<C9B6><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶϲ<C9B6>
|
|
|
|
|
|
void SetAllWellColumnLineShape();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еľ<D0B5><C4BE><EFBFBD><EFBFBD><EFBFBD>Ϊһ<CEAA><D2BB><EFBFBD>ߵ<EFBFBD>״̬
|
|
|
|
|
|
void DeleteAllFaults();
|
|
|
|
|
|
|
|
|
|
|
|
void DoFaultsIntersect(CFaultObj *pBeCutFault,CUIntArray &PtIdArr,CPointArr &SectPointArr,FAULTVECTOR &CutFaultVec,CUIntArray &CutPtIdArr,FAULTVECTOR &newFaultVec);//<2F><><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><CFB2>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(һ<><D2BB><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><CFB2>и<EFBFBD>):<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϲ<D0B6>,<2C>и<EFBFBD><D0B8>ϲ<EFBFBD>,<2C>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķϲ<C4B6><CFB2><EFBFBD>ID,<2C>жϵ<D0B6>,<2C>жϺ<D0B6><CFBA>γɵ<CEB3><C9B5>¶ϲ<C2B6>
|
|
|
|
|
|
void GetIntersectFaults(FAULTVECTOR &faultVec1,FAULTVECTOR &faultVec2,CPointArr &retPtArr,CUIntArray &f1idArr,CUIntArray &f2idArr); //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ཻ<EFBFBD>Ķϲ㣬<CFB2><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķϲ<C4B6><CFB2><EFBFBD>Ӧ<EFBFBD>ཻ,retPtArr<72><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬f1idArr<72><72>fautl1<6C><31><EFBFBD>ཻ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>id<69><64>
|
|
|
|
|
|
/*SetFaultsHorz ͼ<>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>仯ʱ,<2C><><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>λ<EFBFBD><CEBB>,
|
|
|
|
|
|
<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><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*/
|
|
|
|
|
|
//void SetFaultsHorz(double oldRatio,double newRatio,CSectionWellObj *pRightWell,CRect8 rOldWellRect,CSectionWellObj *pLWell,CRect8 lOldWellRect);//
|
|
|
|
|
|
protected:
|
|
|
|
|
|
BOOL m_bUseAddItem; ////ͨ<><CDA8><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>
|
|
|
|
|
|
CWellSection* m_pWellSection;////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
CItem* m_pItemOilWaterBoundary;
|
|
|
|
|
|
|
|
|
|
|
|
BOOL IsAddBendLayerPoint();
|
|
|
|
|
|
BOOL IsAddFaultPoint();
|
|
|
|
|
|
|
|
|
|
|
|
void AddBendLayerPoint();
|
|
|
|
|
|
void DeleteBendLayerPoint();
|
|
|
|
|
|
|
|
|
|
|
|
//BOOL m_bDeleteControls; //<2F>Ƿ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>»<EFBFBD><C2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>
|
|
|
|
|
|
virtual void SetPos(POSITION pos);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
void ConnectLayer(CSectionWellObj* pWell, int TrackType, int layerType);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
BOOL ApplyingTemplateFileForWell(CString filePath, ULONGLONG wellHandle = 0);
|
|
|
|
|
|
BOOL ApplyingWellTemplateForSection(ULONGLONG wellHandle);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
BOOL ApplingTemplate(CKXmlParse& xp, CSectionWellObj* pWellObj = NULL);
|
|
|
|
|
|
};
|
|
|
|
|
|
};
|