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.
|
|
|
|
#pragma once
|
|
|
|
|
#include "GlobalDefine.h"
|
|
|
|
|
#include "ObjBase.h"
|
|
|
|
|
#include "SmartPtr.h"
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>겶<EAB2B6><D7BD><EFBFBD><EFBFBD>
|
|
|
|
|
class CCatchMgr
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
CCatchMgr(void);
|
|
|
|
|
~CCatchMgr(void);
|
|
|
|
|
void Clear();
|
|
|
|
|
void Catch(Dbxy DownPt,Dbxy pt,CDC* pDC,bool bCatchTemp);
|
|
|
|
|
void ResetCatchPoint(CDC* pDC);
|
|
|
|
|
bool GetCatchPoint(CPoint &pt);
|
|
|
|
|
private:
|
|
|
|
|
void CatchNode(DbRect rect);
|
|
|
|
|
void CatchIntersectPointOfLines(DbRect rect);
|
|
|
|
|
void CatchIntersectPointWithMouse(DbRect rect);
|
|
|
|
|
void ResetCatchNode();
|
|
|
|
|
bool HasCatchPoint();
|
|
|
|
|
void DrawCatchPoint(CCatchPoint pt,CDC* pDC);
|
|
|
|
|
void DrawCatchPointExt(CCatchPoint pt,CDC* pDC);
|
|
|
|
|
CCatchPoint GetNearestCatchPt(Dbxy pt);
|
|
|
|
|
void GetLineInRect(DbRect &rect,bool bCatchTemp);
|
|
|
|
|
void CatchOrthoPoint(Dbxy DownPt,Dbxy MousePt,DbRect rect);
|
|
|
|
|
void CatchCutTrack(DbRect rect);
|
|
|
|
|
private:
|
|
|
|
|
vector<DbLine> m_DataPtLineVec;//<2F><><EFBFBD><EFBFBD>rect <20><>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>߶<EFBFBD>
|
|
|
|
|
vector<CCatchPoint> m_CatchPointVec;//<2F><><EFBFBD><EFBFBD><EFBFBD>귶Χ<EAB7B6>ڵIJ<DAB5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CCatchPoint m_CatchNode;//֮ǰץȡ<D7A5>ĵ<EFBFBD>
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
extern CCatchMgr gCatchMgr;
|