#pragma once
|
|
|
#include "AssemDefect.h"
|
#include "AssemParam.h"
|
#include "Global_Define.h"
|
#include "GlassRecipe.h"
|
#include "GrabberControl.h"
|
#include "HardwareSettings.h"
|
#include "Defect.h"
|
|
class CDefectStorage
|
{
|
public:
|
CDefectStorage(void);
|
virtual ~CDefectStorage(void);
|
|
public:
|
int InitDefectStorage(int maxDefect= 1000);
|
int IncreaseDefectCount() {++m_nDefect; return m_nDefect;}
|
void ResetDefectStorage();
|
int GetDefectCount() {return m_nDefect;}
|
CDefect* GetDefect(int i= 0) {return m_pDefect+ i;}
|
|
protected:
|
CCriticalSection m_csDefect;
|
|
protected:
|
int m_nDefect;
|
CDefect* m_pDefect;
|
|
int m_maxDefect;
|
int m_nDefectSpace;
|
};
|
|
class CDefectControl : public CDefectStorage
|
{
|
public:// Defect 傈价何 眠啊.
|
CDefectControl();
|
virtual ~CDefectControl();
|
|
void SetGrabber(CGrabberControl *pGrabber) {m_pGrabber=pGrabber;}
|
void SetHWRecipe(CHardwareSettings *pHW) {m_pHWRecipe=pHW;}
|
|
int ExtractDefect(DimensionDir emDim, int iCam, int iScan, CDefect_Info preDefectList);
|
int ExtractDefect_Side(DimensionDir emDim, int iCam, int iScan, std::vector<CDefect_Info>* vecPreDefectList);
|
int ExtractDefect_Notch(DimensionDir emDim, int iCam, int iScan, int nNotchDefectAreaIdx, std::vector<CDefect_Info>* vecPreDefectList);
|
int ExtractDefect_NotchBroken(DimensionDir emDim, int iCam, int iScan, CDefect_Info defect);
|
int ExtractDefect_UserDefect(DimensionDir emDim, int iCam, int iScan, int nUserDefectAreaIdx, std::vector<CDefect_Info>* vecPreDefectList);
|
int ExtractDefect_Measure(DimensionDir emDim, int iCam, int iScan, CDefect_Info defect, double dMeasureResult_um, double dMeasureDiff_um);
|
|
int ExtractDefect_Mark(DimensionDir emDim, int iCam, int iScan, CDefect_Info defect);
|
int ExtractDefect_CorChamfer(DimensionDir emDim, int iCam, int iScan, DefectLocation eDefect, CDefect_Info ptDefect, int nProfileIndex); //2024.6.12
|
void ResetDefectControl();
|
int CheckDefectCount();
|
int IncreaseDefectCount(){++m_nDefect; return m_nDefect;}
|
|
protected:
|
CGrabberControl* m_pGrabber;
|
CHardwareSettings* m_pHWRecipe;
|
|
};
|