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.
kev/Drawer/SSBase/WellPoleLib/InTrackDepthSegment.h

125 lines
5.3 KiB
C

1 month ago
#pragma once
class CWellBaseObj;
class AFX_EXT_CLASS CInTrackDepthSegment : public CWellBaseObj
{
public:
CInTrackDepthSegment();
CInTrackDepthSegment(const CRect8& position);
virtual ~CInTrackDepthSegment();
1 month ago
CLONE_WELLOBJECT(CInTrackDepthSegment)
virtual void operator=(CInTrackDepthSegment& object);
1 month ago
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>
1 month ago
WELLOBJLIST m_BendLeftList; //<2F>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bend<6E><64><EFBFBD><EFBFBD>,<2C>ڶྮ<DAB6><E0BEAE><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>У<EFBFBD> CWellSection::BuildBendsRelation<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bend<6E><64><EFBFBD><EFBFBD>ϵ
1 month ago
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);
1 month ago
virtual CRect8 GetRect(void);
1 month ago
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);
1 month ago
virtual CPoint2D GetHandle(int nHandle);
virtual int GetHandleCount();
CCurveEx& GetLeftBorderCurve() { return m_curveLeft; };
CCurveEx& GetRightBorderCurve() { return m_curveRight; };
double GetHeight(); //<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD>ĸ߶<C4B8>
CPoint2D GetCenterPoint();
1 month ago
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);
1 month ago
//<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>
1 month ago
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;
1 month ago
///////////////Ϊ<>˵õ<CBB5><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>///////////
1 month ago
//<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) {};
1 month ago
public:
VARINTARR *m_pRowData; //<2F>õ<EFBFBD><C3B5>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int m_dataRowID; //<2F><><EFBFBD>ڶ<EFBFBD>ά<EFBFBD><CEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵĵ<C9B5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID(ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>ID<49><44>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><EBBEAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĶ<D0B5>Ӧ<EFBFBD><D3A6>ϵ)
virtual void SetObjDataToRow(VARINTARR*pRow) {}; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD>Ҫ<EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>
virtual void RecieveTopBottomChange(CWellBaseObj* pChangeObj, double top, double bottom);
virtual CString GetLayerName() { return ""; }
protected:
/*pMarkXy<58>dz<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>ţ<EFBFBD>
markRange<EFBFBD>Ƿ<EFBFBD><EFBFBD>ű<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>Χ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD>-0.5,0.5,0.5,-0.5)
drawRect<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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ߴ<EFBFBD>Сһ<EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD>
*/
void transformMarkForIncliendTrack(CXy* pMarkXy,CCurveEx& leftBorder,CCurveEx& rightBorder,CRect8 markRange,CRect8 drawRect,CXy*& pIncliendMark);
CPoint2D getDepthMarkPoint(double x, double y, CRect8& markRange, double sDep, double eDep, CRect8& drawRect);/*<2A><><EFBFBD>صĵ<D8B5><C4B5>а<EFBFBD><D0B0><EFBFBD>x0<78>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>y0<79><30><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
CPoint2D getMarkPointInTrack(CPoint2D midPoint); //ʹ<><CAB9><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD>ݵ<EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD>յľ<D5B5><C4BE><EFBFBD><EFBFBD>ڵ<EFBFBD>
void getPtsFromMidMarkPoint(std::vector<CPoint2D>& pts,CPoint2D spt,CPoint2D ept );//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>ֱ<EFBFBD>߱<EFBFBD><DFB1>κ<EFBFBD><CEBA>ĵ<EFBFBD>
void transformCurve(CCurveEx* pNew, CCurveEx* pOldCurve, CRect8& markRange, CRect8& drawRect, double sDep, double eDep,BOOL bMorePoint = TRUE);
void transformText(CText* pNew, CText* pOldText, CRect8& markRange, CRect8& drawRect, double sDep, double eDep);
CXy* m_pIncliendMark;
void DrawIncliedMark(CXyDC* pDC);
void DrawIncliedMark(CXyDC* pDC, CXy* pIncliendMark);
1 month ago
};