|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "TrackObj.h"
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CTrackGroup : public CTrackObj
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CTrackGroup();
|
|
|
|
|
|
CTrackGroup(const CRect8& position);
|
|
|
|
|
|
~CTrackGroup();
|
|
|
|
|
|
CLONE_WELLOBJECT(CTrackGroup)
|
|
|
|
|
|
void operator=(/*const*/ CTrackGroup &trackGroupObj);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
TRACKLIST& GetTrackList() { return m_trackList; }
|
|
|
|
|
|
|
|
|
|
|
|
void SetGroupType(EGroupType type) { m_eGroupType = type; }
|
|
|
|
|
|
EGroupType GetGroupType() { return m_eGroupType; }
|
|
|
|
|
|
protected:
|
|
|
|
|
|
void Initialize(); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual void Clear(void);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void SetParent(CWellBaseObj * pobjParent);
|
|
|
|
|
|
virtual void SetParentXY(void* pXy);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void AddTrack(CTrackObj* pTrackObj);
|
|
|
|
|
|
////<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//POSITION GetTrack(int nIndex);
|
|
|
|
|
|
/*<2A><><EFBFBD>Ƴ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>pTrackObj<62><6A><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><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>*/
|
|
|
|
|
|
bool RemoveTrack(CTrackObj* pDelTrack);
|
|
|
|
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>
|
|
|
|
|
|
void DeleteAllTrack();
|
|
|
|
|
|
//ɾ<><C9BE>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//void DeleteTrack(TRACKLIST::iterator pos);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>bIncludeSub<75>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ӵ<EFBFBD>
|
|
|
|
|
|
BOOL FindTrack(CTrackObj* pTrackObj, bool bIncludeSub);
|
|
|
|
|
|
//<2F><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2>Ҷ<EFBFBD><D2B6><EFBFBD><F3A3ACB2>ҵ<EFBFBD>һ<EFBFBD><D2BB>
|
|
|
|
|
|
CTrackObj* FindTrack(ETrackType type);
|
|
|
|
|
|
//<2F><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2>ҵ<EFBFBD>
|
|
|
|
|
|
CTrackObj* FindTrack(ETrackType type, LPCTSTR strTrackName);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>pcg<63><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
CTrackObj* FindDataRefTrack(LPCTSTR strDataRef,BOOL bReadData);
|
|
|
|
|
|
//<2F>ҵ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µĵ<C2B5>
|
|
|
|
|
|
CTrackObj* FindTrack(CPoint2D pt);
|
|
|
|
|
|
//<2F>ҵ<EFBFBD><D2B5><EFBFBD>ǰ<EFBFBD><C7B0>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>ƶ<EFBFBD><C6B6><EFBFBD>ͷʹ<CDB7><CAB9>)
|
|
|
|
|
|
CTrackGroup* FindTrackGroup(CPoint2D pt);
|
|
|
|
|
|
|
|
|
|
|
|
///////<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>
|
|
|
|
|
|
virtual BOOL FindTrackTitle(CString str);
|
|
|
|
|
|
///////<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD>Ƶĵ<C6B5>
|
|
|
|
|
|
virtual BOOL FindTrackName(CString str);
|
|
|
|
|
|
///////ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD>еĵ<D0B5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飩<EFBFBD><E9A3A9><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>еĵ<D0B5><C4B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void GetAllTrack(TRACKLIST* TrackList, int type = -1);
|
|
|
|
|
|
////////////////////////////////////////
|
|
|
|
|
|
virtual int GetTrackRow();
|
|
|
|
|
|
//<2F><><EFBFBD>Ҿ<EFBFBD><D2BE>ڵı߽<C4B1><DFBD><EFBFBD>
|
|
|
|
|
|
CTrackObj* FindTrackLeft();
|
|
|
|
|
|
CTrackObj* FindTrackRight();
|
|
|
|
|
|
|
|
|
|
|
|
//<2F>ҵ<EFBFBD><D2B5><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұ߽<D2B1><DFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>ϵ<EFBFBD>
|
|
|
|
|
|
CTrackGroup* FindTrackGroupOnRight(CPoint2D pt, double dHandleSize);
|
|
|
|
|
|
|
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ʵ<EFBFBD><CAB5>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual int GetTrackCount();
|
|
|
|
|
|
int GetTrackCount(ETrackType trackType, bool bIncludeSub); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>Ƹ<EFBFBD><C6B8><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
virtual void SetTrackWidthRatio(double r);
|
|
|
|
|
|
|
|
|
|
|
|
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 BOOL ReadCurveData(BOOL bInit = TRUE);
|
|
|
|
|
|
////<2F><><EFBFBD>ߡ<EFBFBD>ɢ<EFBFBD><C9A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><DFB6><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>Թ<EFBFBD>Ϊʱ<CEAA><CAB1><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>ȶ<EFBFBD>child<6C><64><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void ClearCurveSegmentObj();
|
|
|
|
|
|
virtual void ResetChildPosition(double oldProportion, double newProportion, double depthDelta);
|
|
|
|
|
|
virtual void ResetChildPosition(double offsetY = 0.0);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void MoveTrackWidth(double width);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void SetFontGridMark(GDFLOGFONTEXT& font);
|
|
|
|
|
|
virtual void SetSpace(double major, double minor);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void DivideTrack(TRACKLIST* CurveList, TRACKLIST* OtherList);
|
|
|
|
|
|
virtual void GetTrackCurve(TRACKLIST* CurveList);
|
|
|
|
|
|
|
|
|
|
|
|
virtual CWellBaseObj* ObjectAt(const CRect8& rect, double dHandleSize, BOOL bNesting = FALSE);
|
|
|
|
|
|
virtual BOOL Intersects(const CRect8& rect, double dHandleSize);
|
|
|
|
|
|
virtual void CalculateSize(CPoint2D point); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>Χ
|
|
|
|
|
|
virtual void GetHeadPts(double cx, double cy, double angle, double offx = 0, double offy = 0); //<2F><><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µĵ<C2B5>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>,cx<63><78>cy<63><79>ת<EFBFBD><D7AA><EFBFBD>ģ<EFBFBD>angle<6C><65>ת<EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
|
virtual double GetWidth();
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
|
|
|
|
virtual void Serialize_TrackList(CArchive& ar, const short &ver);
|
|
|
|
|
|
virtual void SetTitle(CString title);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void MoveToActiveTrackHead(CRect8& positon);
|
|
|
|
|
|
virtual void MoveTo(CRect8& position);
|
|
|
|
|
|
virtual void MoveHandleTo(int nHandle, CPoint2D point);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void DrawTrackHead(CXyDC* pDC);
|
|
|
|
|
|
virtual void DrawTrackHeadLine(CXyDC* pDC, BOOL bFirst = FALSE);
|
|
|
|
|
|
virtual void DrawTrackBodyLine(CXyDC* pDC, BOOL bFirst = FALSE);
|
|
|
|
|
|
virtual void DrawActiveTrackHead(CXyDC*pDC);
|
|
|
|
|
|
virtual void Draw(CXyDC* pDC);
|
|
|
|
|
|
//<2F><><EFBFBD>ƾ<EFBFBD><C6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void DrawWellBodyLine(CXyDC* pDC);
|
|
|
|
|
|
|
|
|
|
|
|
//virtual void AddLineEntity(); //<2F><><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><DFB6><EFBFBD>
|
|
|
|
|
|
//virtual void AddTextEntity(); //<2F><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
////<2F><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//virtual void AddTrackHead();
|
|
|
|
|
|
////<2F><><EFBFBD>ӵ<EFBFBD>ͷ<EFBFBD><CDB7>
|
|
|
|
|
|
//virtual void AddTrackHeadLine();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
virtual void WritePCG_WellTemp(CFile &fw, int nBaseTabNum);//pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20><>ģ<EFBFBD><C4A3>
|
|
|
|
|
|
virtual void WritePCG_Traces(CFile &fw, int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void WritePCG_Datas(CFile &fw, int nBaseTabNum); //pcg<63>ļ<EFBFBD><C4BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//д<>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>,дpcg<63><67>dml<6D><6C>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void WritePCG_Ext(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
virtual int ReadPCG_Exts(CFile &fr, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
//void GetChildTracks(std::vector<CTrackObj*> &trackVec); //<2F>߷<EFBFBD>.2016.03.24 <20>õ<EFBFBD>һ<EFBFBD><D2BB>trackGroup<75><70><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD>Group<75>ĵ<EFBFBD>
|
|
|
|
|
|
virtual void DrawTrajectory(CXyDC* pDC);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void SetActionNoSaveData(BOOL b);
|
|
|
|
|
|
|
|
|
|
|
|
int GetTrackPosInList(CTrackObj* pTrack);
|
|
|
|
|
|
void AddTarckToPos(int ipos, CTrackObj* pTrack);
|
|
|
|
|
|
void GetMaxVGroupTrackNum(int& totalNum);
|
|
|
|
|
|
|
|
|
|
|
|
virtual CRect8 GetDragMoveRect();
|
|
|
|
|
|
|
|
|
|
|
|
virtual void SetFontScale(double yScale);// <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0><EFBFBD>yͬ<79><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void afterCalculateSize();
|
|
|
|
|
|
|
|
|
|
|
|
virtual void GetTypeTrackList(TRACKLIST* trackList,ETrackType trackType);
|
|
|
|
|
|
CTrackObj* GetChildTrackIniPos(int pos);
|
|
|
|
|
|
void RemoveChildTrackIniPos(int pos);
|
|
|
|
|
|
protected:
|
|
|
|
|
|
TRACKLIST m_trackList;
|
|
|
|
|
|
EGroupType m_eGroupType;
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual int ReadPCG_Exts(CKXmlParse& xp, const short &ver);
|
|
|
|
|
|
virtual void DrawMoveTrackFrame(CXyDC* pDC, CPoint2D delta);
|
|
|
|
|
|
};
|
|
|
|
|
|
|