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.

65 lines
2.7 KiB
C++

#pragma once
#include "module.h"
#include "OffsetTable.h"
#define OffsetTab_List_Val_Col 3//参数在list 中的列号
#define OFFSET_TAB_PATH "\\OffsetTable\\"
#define OFFSET_TAB_FILE_PATH "\\OffsetTable\\TableFile\\"
#define OFFSET_TAB_HISTORY_PATH "\\OffsetTable\\TableHistory\\"
#define OFFSET_TAB_FILE_SUFFIX "tbl"
#define OFFSET_TAB_HISTORY_SUFFIX "xlsx"
//晶圆recipe 数据管理
class CSlotRecipeDataMgr :public CModule
{
public:
CSlotRecipeDataMgr(void);
~CSlotRecipeDataMgr(void);
virtual MODULE GetModuleType(){return _WAFER_RECIPE_DATA_PROP;};
virtual void OnAppInitialize();
void CreatScanPath(vector<bool> SelObjVec);
void CreatScanPath(int AreaIdx);
void InitScanAreaComb(CComboBox &ComboBox);
void InitOffsetTableComb(CComboBox &ComboBox);
CString SelScanArea(int idx);
CString SelOffsetTable(int idx);
void IniRecipeParList(CListCtrl &list);
CString GetSelRecipePath(int idx);
double CalScanSpeedByOverlapRatio(double OverlapRatio,double Fre);
double CalOverlapRatioByScanSpeed(double ScanSpeed,double Fre);
double CalRotatoDimmerAng(double LaserSpotX,double LaserSpotY,double Edi,double Fre,double Pow);
void SetbScanEnd(bool b){m_bScanEnd = b;};
bool IsbScanEnd(){return m_bScanEnd;};
void GetScanAreaName(vector<CString> &Vec);
void GetOffsetTableName(vector<CString> &Vec);
bool SelScanAreaByName(CString SelScanAreaName);
bool CheckScanPathSecurity();
void InitOffsetTableList(CListCtrl &List);
void UpdateOffsetTableList(CListCtrl &List,CString FilePath);
void SaveRcpOffsetTable(CListCtrl &List,CString FilePath);
void CreateNewOffsetTable(CString Name);
void DelOffsetTable(CString FilePath);
private:
int GetFristSelOutLineObjIdx();
void SaveOffsetTableHistory(vector<COffsetTablePar>&OffsetTableParVec,CString OperateType,CString TableName);
private:
vector<bool> m_CurSelStateVec;//当前选择状态
vector<CString> m_RecipeFilePathVec;
vector<CString> m_ScanAreaPathVec;//记录 扫描区域文件的完整路径
vector<CString> m_OffsetTablePathVec;//记录 OffsetTable文件的完整路径
bool m_bScanEnd;//扫描结束状态,用来确定扫描线的颜色
int m_EndScanLineIdx;//结束扫描时扫描线的索引值
int m_TotalScanLineCnt;//扫描线的总数
COffsetTable m_CurEditOffsetTable;//当前编辑的补偿表
};
extern CSlotRecipeDataMgr *gWaferRecipeDataMgr;