#pragma once #include "InspectDefect.h" #include "History.h" enum EM_RESULT_PATH{EM_RESULT_FILE=0,EM_RESULT_DEFECT,EM_RESULT_SPLINE,EM_RESULT_FULL,EM_RESULT_MARK}; class CDefect; class CHardwareSettings; class CGlassRecipe; class CTransfer_Data; class CResultData; class CInspectOption; class CGlass_Data; class CProfileOption; class CInspectCamera; class CPostProcess { public: CPostProcess(void); virtual ~CPostProcess(void); public: virtual BOOL InitPostProcessing(); virtual BOOL RunPostProcessing(); virtual BOOL ProcessingScanEnd(); virtual CString GetResultPath(EM_RESULT_PATH ePath); void AddHistoryData(HISTORY_RESULT Data); void RunPostProcessing_SaveDefectInfo(); void SetInspectCamera(int iCam,CInspectCamera *pIns); void SetPrameter(CGlass_Data *pGlsData,CHardwareSettings *pHW,CGlassRecipe *pRecipe,CInspectOption *pInsOpt,CProfileOption *pProfileOpt,CTransfer_Data *pTransData,CResultData *pResultData); protected: void JudgementData(); void SaveProfileData(); void SaveChamferData(BOOL bUp); void SaveDefectData(int nDefect); void SetResultData(); void MergeDefect(); void JudgeThinCrackDefect(); BOOL Judge_CornerChip_Item_ThinCrack(CDefect* pDefect,int nCamIdx); void CalcGlassSize(); int GetInspectionDefect(MapDefect *mapDefectData); BOOL DefectProcess(CInspectDefect* pDefect,CInspectCamera *pInspect); BOOL SaveDefectImage(LPBYTE pImage,CSize szImage,CRect rectDefect,CString strFile,DimensionDir emDir); BOOL SaveDefectImage2(LPBYTE pImage,CSize szImage,CRect rectDefect,CString strFile,DimensionDir emDir); protected: BOOL CheckDirectory(const TCHAR szPathName[]); BOOL CreateDataDirectory(); void GetJudgePrm(CDefect *pDefect,int &nJudgeW,int &nJudgeH,BOOL &bAnd,EM_CHIPPING_COMP &eComp,BOOL &bJudgeUse); protected: CGlass_Data *m_pGlassData; CHardwareSettings *m_pHardware; CGlassRecipe *m_pRecipe; CInspectOption *m_pInspectOpt; CProfileOption *m_pProfileOpt; CResultData *m_pResultData; CTransfer_Data *m_pTransData; CInspectCamera *m_pInspectCamera[MAX_CAMERA_COUNT]; CString m_strResultFolder; CString m_strDefectFolder; CString m_strSplineFolder; CString m_strFullImgeFolder; CString m_strImageMarkFolder; HISTORY_RESULT m_HistoryData; };