|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "itemfocusrect.h"
|
|
|
|
|
|
#include ".\itemselectcurve.h"
|
|
|
|
|
|
|
|
|
|
|
|
#pragma pack(1)
|
|
|
|
|
|
struct DeletionCondition
|
|
|
|
|
|
{
|
|
|
|
|
|
int kind; //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0--<2D><><EFBFBD>߳<EFBFBD><DFB3><EFBFBD> 1--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double threshold; //<2F><><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
int method; //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//ɸѡ<C9B8><D1A1><EFBFBD><EFBFBD> <<3C><><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
int ConditionDeletion;
|
|
|
|
|
|
LPCTSTR layerName; //<2F><>λ
|
|
|
|
|
|
};
|
|
|
|
|
|
#pragma pack()
|
|
|
|
|
|
|
|
|
|
|
|
namespace NItem
|
|
|
|
|
|
{
|
|
|
|
|
|
#define DELETE_DEFAULT 0 //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD>η<EFBFBD>Χ<EFBFBD><CEA7>Ԫ<EFBFBD><D4AA>
|
|
|
|
|
|
#define DELETE_IN 1 //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>
|
|
|
|
|
|
#define DELETE_OUT 2 //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>
|
|
|
|
|
|
#define DELETE_CONDITION 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>Ԫ<EFBFBD><D4AA>
|
|
|
|
|
|
|
|
|
|
|
|
class CItemDelete :
|
|
|
|
|
|
public CItemFocusRect
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CItemDelete(CSigmaDoc * ppDoc);
|
|
|
|
|
|
virtual ~CItemDelete(void);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
void OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point, int vk) override;
|
|
|
|
|
|
int OnMouseMove(CDC *pDC, UINT nFlags, CPoint point) override;
|
|
|
|
|
|
void DoLButtonUp(CDC *pDC) override;
|
|
|
|
|
|
void OnRButtonDown(UINT nFlags, CPoint point) override;
|
|
|
|
|
|
int GetSubMenu() override;
|
|
|
|
|
|
|
|
|
|
|
|
int SetProcessIdea(int nIdea);
|
|
|
|
|
|
int GetProcessIdea(void);
|
|
|
|
|
|
|
|
|
|
|
|
int GetSelectWidthRegion(CPositionList& SelectList, POSITION curvePostion, int nOutSelect);
|
|
|
|
|
|
int IsInside(CCurveEx* pRgn, CRect8& rgnRange, COne* pOne);
|
|
|
|
|
|
BOOL CurveInRegion(CCurveEx* pCurve, CPositionList& rgnList); //<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>,ֻҪ<D6BB><D2AA>һ<EFBFBD><D2BB><EFBFBD>ھͷ<DABE><CDB7><EFBFBD>TRUE
|
|
|
|
|
|
BOOL ElementInRegion(COne* pOne, CPositionList& rgnList); //Ԫ<><D4AA><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ֻҪ<D6BB><D2AA>һ<EFBFBD><D2BB><EFBFBD>ھͷ<DABE><CDB7><EFBFBD>TRUE
|
|
|
|
|
|
int GetCountSelected();
|
|
|
|
|
|
bool IsRegionSelected();
|
|
|
|
|
|
public:
|
|
|
|
|
|
int Delete(void);
|
|
|
|
|
|
void DeleteIn(void);
|
|
|
|
|
|
void DeleteOut(void);
|
|
|
|
|
|
int DeleteCondition(DeletionCondition * condition);
|
|
|
|
|
|
|
|
|
|
|
|
int m_idea; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|
|
|
|
|
CItemSelectCurve *m_pSelectCurve;
|
|
|
|
|
|
//for condition
|
|
|
|
|
|
double value;
|
|
|
|
|
|
int sel;
|
|
|
|
|
|
int mode;
|
|
|
|
|
|
int condition;
|
|
|
|
|
|
CString strLayer;
|
|
|
|
|
|
CList<POSITION, POSITION> m_selectionSet;
|
|
|
|
|
|
bool m_bIsRegionSelected;
|
|
|
|
|
|
|
|
|
|
|
|
////////////
|
|
|
|
|
|
int CurveInRegion(CCurveEx* pCurve, CCurveEx* pRgn);//0Ϊȫ<CEAA><C8AB><EFBFBD>ڷ<EFBFBD>Χ<EFBFBD><CEA7>,1Ϊȫ<CEAA>ڷ<EFBFBD>Χ<EFBFBD><CEA7>,2Ϊ<32><CEAA><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ֲ<EFBFBD><D6B2>ڷ<EFBFBD>Χ<EFBFBD><CEA7>
|
|
|
|
|
|
void DeleteSelectWidthLength(CList<POSITION,POSITION> &list, double value, int flag);
|
|
|
|
|
|
void DeleteSelectWidthName(CList<POSITION,POSITION> &list, double value, int flag, int type);
|
|
|
|
|
|
BOOL DeleteQualification(double length, double value, int flag);
|
|
|
|
|
|
void DeleteSelection(CList<POSITION, POSITION>* pList);
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|