mrDarker
2025-07-14 1c0ac1c7924efb8a2cb6962d3eda4126533a5ac8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#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;
};