|
|
|
|
#pragma once
|
|
|
|
|
#include "module.h"
|
|
|
|
|
#include "Product.h"
|
|
|
|
|
#include "Subject.h"
|
|
|
|
|
#include "EnumDirection.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>(һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Բ֮<D4B2><D6AE><EFBFBD><EFBFBD>)
|
|
|
|
|
class CProductMgr :public CModule,public CSubject
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
CProductMgr(void);
|
|
|
|
|
~CProductMgr(void);
|
|
|
|
|
virtual CMFCPropertyGridProperty *CreatGridProperty();
|
|
|
|
|
virtual void ExportPar(ofstream *pFile);
|
|
|
|
|
virtual MODULE GetModuleType(){return _PRODUCT_PROP;};
|
|
|
|
|
virtual void Ini();
|
|
|
|
|
virtual void Draw(CDC* pDC);
|
|
|
|
|
virtual void WriteWorkFileExt(vector<CLab> &LabVec);
|
|
|
|
|
virtual void ReadWorkFile(CLabVecRang &LabVecRang);
|
|
|
|
|
|
|
|
|
|
vector<CProduct> &GetProductVec(){return m_ProductVec;};
|
|
|
|
|
CProduct &GetProduct(int idx){return m_ProductVec[idx];};
|
|
|
|
|
int GetProductCnt(){return m_ProductVec.size();};
|
|
|
|
|
void ReSetTheoryMarkPt();
|
|
|
|
|
void SetTheoryMarkPt(Dbxy pt1,Dbxy pt2);
|
|
|
|
|
Dbxy TheoryPtToRealPt(Dbxy TheoryMarkPt);
|
|
|
|
|
void TheoryDataToRealData(vector<vector<Dbxy>> &vec,Dbxy &Offset);
|
|
|
|
|
void TheoryDataToRealData(vector<Dbxy> &vec,Dbxy &Offset);
|
|
|
|
|
int GetCurProductIdx();
|
|
|
|
|
void CurProductIdxInc(){m_CurProductIdx++;};
|
|
|
|
|
void SetCurProductIdx(int idx){m_CurProductIdx = idx;};
|
|
|
|
|
int GetUsedProductCnt();
|
|
|
|
|
void SetFocalAdjustCnt(int cnt){m_FocalAdjustCnt = cnt;};
|
|
|
|
|
void SetBaseFocAdjustDis(double Dis){m_BaseFocAdjustDis = Dis;};
|
|
|
|
|
void SetFocalAdjustDis(double Dis){m_FocalAdjustDis = Dis;};
|
|
|
|
|
int GetFocalAdjustCnt(){return m_FocalAdjustCnt;};
|
|
|
|
|
double GetBaseFocAdjustDis(){return m_BaseFocAdjustDis;};
|
|
|
|
|
double GetFocalAdjustDis(){return m_FocalAdjustDis;};
|
|
|
|
|
void ResetRealMarkPt();
|
|
|
|
|
void WorkTimesInc();
|
|
|
|
|
int GetCurWorkTimes(){return m_CurWorkTimes;};
|
|
|
|
|
int GetTotalWorkTimes(){return m_TotalWorkTimes;};
|
|
|
|
|
double GetAngleAdjust(){return m_AngleAdjust;};
|
|
|
|
|
void MoveObjToBasePt(Dbxy BasePt);
|
|
|
|
|
void UpdateProductState();
|
|
|
|
|
void SetDefualtRect(DbRect r){m_DefualtRect = r;};
|
|
|
|
|
Dbxy GetDefualtBasePt();
|
|
|
|
|
void SetProductCenterPt();
|
|
|
|
|
double GetMaxMarkDisDiff(){return m_MaxMarkDisDiff;};
|
|
|
|
|
private:
|
|
|
|
|
void InsertProduct(CMFCPropertyGridProperty* p);
|
|
|
|
|
void DrawMarkPoint(CDC* pDC,Dbxy pt,CString str);
|
|
|
|
|
void ResetProductVec(int cnt);
|
|
|
|
|
DbRect GetRect(Dbxy pt);
|
|
|
|
|
private:
|
|
|
|
|
int m_UseProductCnt;//ʹ<>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int m_CurProductIdx;//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
vector<CProduct> m_ProductVec;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
DbSize m_ProductSize;//ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ijߴ<C4B3>(<28><>ʾ<EFBFBD><CABE>)
|
|
|
|
|
|
|
|
|
|
DIRECTION m_BasePtDir;//<2F><>Ʒ<EFBFBD><C6B7><EFBFBD><D7BC><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
|
|
|
|
|
int m_CurWorkTimes;//<2F><>ǰ<EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
int m_TotalWorkTimes;//<2F>ܼӹ<DCBC><D3B9><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
double m_AngleAdjust;//<2F>Ƕ<EFBFBD><EFBFBD><CEA2>ֵ(<28><><EFBFBD>Ƚ<EFBFBD>)
|
|
|
|
|
double m_MaxMarkDisDiff;//<2F><><EFBFBD><EFBFBD>mark <20><>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ʵ<EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۾<EFBFBD><DBBE><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
|
|
|
|
|
double m_BaseFocAdjustDis;//<2F><><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>mm (<28>Ͳ<EFBFBD>Ʒ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
int m_FocalAdjustCnt;//<2F>佹<EFBFBD><E4BDB9><EFBFBD><EFBFBD>
|
|
|
|
|
double m_FocalAdjustDis;//<2F>佹<EFBFBD><E4BDB9><EFBFBD><EFBFBD>mm
|
|
|
|
|
|
|
|
|
|
DbRect m_DefualtRect;//Ĭ<><C4AC>λ<EFBFBD><CEBB>
|
|
|
|
|
//<2F><><EFBFBD>ڶ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>---------------------------
|
|
|
|
|
Dbxy m_TheoryMarkPt1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(layer <20>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
Dbxy m_TheoryMarkPt2;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
extern CProductMgr *gProductMgr;
|
|
|
|
|
|