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.

80 lines
3.5 KiB
C

#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;