|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
class CWellBaseObj;
|
|
|
|
|
|
class AFX_EXT_CLASS CInTrackDepthSegment : public CWellBaseObj
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
CInTrackDepthSegment();
|
|
|
|
|
|
CInTrackDepthSegment(const CRect8& position);
|
|
|
|
|
|
virtual ~CInTrackDepthSegment();
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
double m_fSdep; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
double m_fEdep; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
double m_fLeftSpace; //<2F><><EFBFBD>߿<EFBFBD>
|
|
|
|
|
|
double m_fRightSpace; //<2F>ұ߿<D2B1>
|
|
|
|
|
|
CString m_strType; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
WELLOBJLIST m_BendLeftList; //<2F>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bend<6E><64><EFBFBD><EFBFBD>
|
|
|
|
|
|
WELLOBJLIST m_BendRightList;//<2F>ز<EFBFBD><D8B2><EFBFBD><EFBFBD>Ҳ<EFBFBD>bend<6E><64><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual int HitTest(CPoint2D point, double dHandleSize, BOOL bSelected);
|
|
|
|
|
|
virtual void MoveHandleTo(int nHandle, CPoint2D point);
|
|
|
|
|
|
virtual void MoveTo(CRect8& position);
|
|
|
|
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
|
|
|
|
virtual BOOL Intersects(const CRect8& rect, double dHandleSize);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>ȡб<C8A1><D0B1>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7>Ŷ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>Ҿ<EFBFBD><D2BE>߽<EFBFBD>,<2C><>TrackLithObj computedata(),BuidChildObject()<29><><EFBFBD><EFBFBD> 2015-10-19
|
|
|
|
|
|
virtual bool CalcInclinedBorder();
|
|
|
|
|
|
virtual BOOL IsTrackChildTopEnd() { return TRUE; };
|
|
|
|
|
|
//void DrawSelectRange(CXyDC *pDC); //<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void GetSelectRange(std::vector<CPoint2D>& PtsVec);//б<><D0B1><EFBFBD>ĵ<EFBFBD><C4B5>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>õ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void GetRange(CRect8& range);
|
|
|
|
|
|
|
|
|
|
|
|
void SetTop(double dep);
|
|
|
|
|
|
void SetBottom(double dep);
|
|
|
|
|
|
void SetDepth(double dep);
|
|
|
|
|
|
|
|
|
|
|
|
void SetRectInTrack(CRect8 TrackRect, LPVOID pWell);
|
|
|
|
|
|
void SetUnViewState();//<2F>ڶྮ<DAB6><E0BEAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ
|
|
|
|
|
|
virtual void SetViewState(int state);
|
|
|
|
|
|
protected:
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұ߽<D2B1> bEqualPointsΪtrue<75><65>ʾ<EFBFBD><CABE><EFBFBD>ұ߽<D2B1><DFBD><EFBFBD>һһ<D2BB><D2BB>Ӧ<EFBFBD><D3A6>false<73><65><EFBFBD>˶<DEB4>Ӧ
|
|
|
|
|
|
bool CalcLeftAndRightBorders(bool bEqualPoints = false);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void LinkPoints(CCurve& outline);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>һ<EFBFBD>㲻<EFBFBD>պ<EFBFBD>
|
|
|
|
|
|
void LinkPoints(CCurve& newPoly, vector<dfPoint>& ptsLeft, vector<dfPoint>& ptsRight);
|
|
|
|
|
|
//<2F><><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҿ<EFBFBD><D2BE><EFBFBD>ɢ<EFBFBD><C9A2>m_borderLeft<66><74>m_borderRight<68><74><EFBFBD><EFBFBD><EFBFBD>ҵ㴦<D2B5><E3B4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD>ȡ<EFBFBD>պ϶<D5BA><CFB6><EFBFBD><EFBFBD><EFBFBD>.ǰ<><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұ߽<D2B1><DFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>һһ<D2BB><D2BB>Ӧ
|
|
|
|
|
|
bool CreatePolygon(CCurve& destCurve, double ratioL, double ratioR);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҿ<EFBFBD><D2BE><EFBFBD>ɢ<EFBFBD><C9A2>m_borderLeft<66><74>m_borderRight<68>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD>ȡ<EFBFBD><C8A1>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
bool CreatePolyline(CCurve& destCurve, double ratio);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD><EFBFBD>ɢ<EFBFBD><C9A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭʼ<D4AD>߽<EFBFBD><DFBD><EFBFBD>
|
|
|
|
|
|
bool CreateBorderCurve(void);
|
|
|
|
|
|
|
|
|
|
|
|
void MoveShowRects(double x, double y);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>Է<EFBFBD><D4B7>Ŷ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>Ҿ<EFBFBD><D2BE><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
vector<dfPoint> m_borderLeft;
|
|
|
|
|
|
vector<dfPoint> m_borderRight;
|
|
|
|
|
|
|
|
|
|
|
|
//ԭʼ<D4AD>߽<EFBFBD>
|
|
|
|
|
|
CCurveEx m_curveLeft;
|
|
|
|
|
|
CCurveEx m_curveRight;
|
|
|
|
|
|
|
|
|
|
|
|
///////////////Ϊ<>˵õ<CBB5><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>//////////////////// 2015-12-1
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD><EFBFBD>ȡ<EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void GetMaxRectangle(void);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD><EFBFBD>ȡ<EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rect,<2C><><EFBFBD>õ<EFBFBD><C3B5>þ<EFBFBD><C3BE>ε<EFBFBD><CEB5><EFBFBD>ת<EFBFBD>Ƕ<EFBFBD>angle,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ptC
|
|
|
|
|
|
void GetMaxRectangle(CCurve& curveLeft, CCurve& curveRight, CRect8& rect, dfPoint& ptC, double& angle);
|
|
|
|
|
|
//ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>Ϳ<EFBFBD><CDBF><EFBFBD><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>rect
|
|
|
|
|
|
void CreateRectangle(CPoint2D& ptC, double w, double h, CRect8& rect);
|
|
|
|
|
|
|
|
|
|
|
|
dfPoint m_cPt; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>
|
|
|
|
|
|
CRect8 m_maxRect; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double m_angle; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
CCurveEx m_polyCurve; //<2F><>б<EFBFBD><D0B1>״̬<D7B4><CCAC>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>β<EFBFBD>ĵ㲻<C4B5>غ<EFBFBD>)
|
|
|
|
|
|
|
|
|
|
|
|
std::vector<CRect8> m_ShowRectsVec; //<2F><>ֱ<EFBFBD><D6B1><EFBFBD>ྮ<EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>,<2C><>Ϊ<EFBFBD><CEAA>ʱ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD>ݻᱻ<DDBB><E1B1BB><EFBFBD>η<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>.
|
|
|
|
|
|
void SetTopBottomDepth(CRect8 rect);
|
|
|
|
|
|
|
|
|
|
|
|
BOOL GetMaxShowRect(CRect8& showrect); //<2F><><EFBFBD><EFBFBD>ijЩ<C4B3><D0A9>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>,<2C><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual int ReadPCG_SelfData(CKXmlParse& xp, const short& ver , CTrackObj* pTrack) { return 0; };
|
|
|
|
|
|
virtual void WritePCG_SelfData(CFile &fw, int nBaseTabNum) {};
|
|
|
|
|
|
};
|