|
|
|
|
#pragma once
|
|
|
|
|
#include "GlobalDefine.h"
|
|
|
|
|
#include "ObjContainer.h"
|
|
|
|
|
#include "WorkData.h"
|
|
|
|
|
#include "SmartPtr.h"
|
|
|
|
|
#include "ObjComponent.h"
|
|
|
|
|
|
|
|
|
|
class CProduct;
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
class CMarkArea
|
|
|
|
|
{
|
|
|
|
|
friend class CDlgMarkArea;
|
|
|
|
|
public:
|
|
|
|
|
CMarkArea();
|
|
|
|
|
CMarkArea(Dbxy pt,DbSize size);
|
|
|
|
|
~CMarkArea(void);
|
|
|
|
|
void Serialize(CArchive& ar);
|
|
|
|
|
void WriteWorkFile(vector<CLab> &LabVec);
|
|
|
|
|
void ReadWorkFile(CLabVecRang &LabVecRang);
|
|
|
|
|
void Draw(CDC* pDC,bool bSel);
|
|
|
|
|
DbRect GetRect();
|
|
|
|
|
Dbxy GetBasePt(){return m_BasePt;};
|
|
|
|
|
void SetBasePt(Dbxy pt);
|
|
|
|
|
DbSize GetSize(){return m_Size;};
|
|
|
|
|
|
|
|
|
|
void CollectOrgWorkData(bool bNeedSel, CProduct & Product);
|
|
|
|
|
|
|
|
|
|
void CollectWorkData(bool bNeedSel,CProduct &Product);
|
|
|
|
|
bool HasWorkData();
|
|
|
|
|
bool HasSpecialWorkData();
|
|
|
|
|
vector<vector<Dbxy>> &GetDataVec();
|
|
|
|
|
vector<vector<Dbxy>> &GetSpecialDataVec();
|
|
|
|
|
void SetSelState(bool b){m_bSel = b;};
|
|
|
|
|
bool IsSelected(){return m_bSel;};
|
|
|
|
|
bool IsPtInArea(Dbxy pt);
|
|
|
|
|
void UpdateSize();
|
|
|
|
|
void AdjustByObj();
|
|
|
|
|
Dbxy GetRealBasePt();//<2F><>ȡʵ<C8A1><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
void SetRealBasePt(Dbxy pt){m_RealBasePt = pt;};
|
|
|
|
|
void CalRealBasePt(CProduct &Product);
|
|
|
|
|
Dbxy GetOffset(){return m_Offset;};
|
|
|
|
|
Dbxy GetOffset2(){return m_Offset2;};
|
|
|
|
|
void CollectSrcWorkData();//<2F>Ѽ<EFBFBD><D1BC><EFBFBD><EFBFBD><EFBFBD>Դ
|
|
|
|
|
void ClearSrcWorkData();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
|
|
|
|
|
private:
|
|
|
|
|
void CollectLayerObj(CObjContainer &ObjContainer);
|
|
|
|
|
void CollectComponentObj(vector<vector<Dbxy>> &vec,bool bNeedSel);
|
|
|
|
|
bool DrawObjComponentVec(vector<Sptr<CObjComponent>> &vec,CDC* pDC,bool bSel);
|
|
|
|
|
void CollectObjExt(Sptr<CObjComponent> &pObj,DbRect &rect);
|
|
|
|
|
void ResetObjCollectState();
|
|
|
|
|
bool CheckbNeedMark();
|
|
|
|
|
private:
|
|
|
|
|
bool m_bSel;//ѡ<><D1A1>״̬
|
|
|
|
|
Dbxy m_BasePt;//<2F><><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><D7BC>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>)
|
|
|
|
|
Dbxy m_RealBasePt;//<2F><><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><D7BC>(ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>)<29><><EFBFBD><EFBFBD>CCD <20><>ץȡ<D7A5><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
DbSize m_Size;//<2F><><EFBFBD><EFBFBD><EFBFBD>ijߴ<C4B3>
|
|
|
|
|
Dbxy m_Offset;//<2F><><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>ƫ<EFBFBD><C6AB>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>(<28><><EFBFBD><EFBFBD>1)
|
|
|
|
|
Dbxy m_Offset2;//<2F><><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>ƫ<EFBFBD><C6AB>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>(<28><><EFBFBD><EFBFBD>2)
|
|
|
|
|
|
|
|
|
|
CWorkData m_WorkData;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CWorkData m_SpecialWorkData;//<2F><><EFBFBD><EFBFBD><E2B9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
CWorkData m_SrcWorkData;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
|
|
|
|
|
CWorkData m_DecWorkData;//ʵ<>ʼӹ<CABC><D3B9><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
bool m_bSelMarkMode;//<2F>Ƿ<EFBFBD>Ϊѡ<CEAA><D1A1><EFBFBD>ӹ<EFBFBD>ģʽ
|
|
|
|
|
bool m_bNeedMark;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD>ӹ<EFBFBD>
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|