#pragma once #include #include "Global_Define.h" #include "Defect.h" #include "GlassRecipe.h" #include "HardwareSettings.h" #include "Side_Data.h" class CGlass_Data { public: CGlass_Data(void); virtual ~CGlass_Data(); void ResetGlass(); void ResetDefect(); BOOL SetDefect(CDefect* pDefect); CDefect* GetDefect_NG(int nDefecIdx); CDefect* GetDefect_OK(int nDefecIdx); MapDefect* GetMapDefect_NG() { return &m_MapDefect_NG; } MapDefect* GetMapDefect_OK() { return &m_MapDefect_OK; } int GetTotalDefectCount() { return m_nCurDefectIdx_Total;} int GetDefectCount_NG() { return m_nCurDefectIdx_NG;} int GetDefectCount_OK() { return m_nCurDefectIdx_OK;} int GetJudgeDefectCount() { return m_nJudgeDefectCount;} ////////////////////////////////////////////////////////////////////////// // Glass Data BOOL SetHardwareRecipe(CHardwareSettings *pHardware) { m_pHardwareSetting = pHardware;} void SetGlassRecipe(CGlassRecipe *pRecipe) { m_pGlassRecipe=pRecipe;} CGlassRecipe* GetGlassRecipe() { return m_pGlassRecipe; } CHardwareSettings* GetHardwareRecipe() { return m_pHardwareSetting;} void SetLoadingTime(); void SetUnloadingTime(); void SetScanStartTime(); void SetScanEndTime(); CTime GetLoadingTime() { return m_tLoadingTime; } CString GetLoadingTimeString() { return m_strLoadingTime; } CString GetUnloadingTime() { return m_strUnloadingTime; } CString GetScanStartTime() { return m_strScanStartTime; } CString GetScanEndTime() { return m_strScanEndTime; } CString GetScanEndTimeFileName() { return m_strScanEndTimeFileName; } CString GetLoadingTimeFileName() { return m_strLoadingTimeFileName; } CString GetLoadingDayFileName() { return m_strLoadingDayFileName; } // short *GetGlassResultInfo(){return m_nGlassResult;} void GetStageTheta(int iStage,short &nLongTheta,short &nShortTheta); void SetStageTheta(int iStage,BOOL bLong,short nTheta); BOOL IsPostProcStart() {return m_bPostProcessing;} void SetPostProc(BOOL bSet) {m_bPostProcessing = bSet;} void SetScanStart(BOOL bStart); BOOL GetScanStart(){return m_bScanStart;} void SetScanEnd(int nScanIdx,BOOL bIsEnd); BOOL GetScanEnd(int nScanIdx); void SetScanStartCount(int nCount){m_nStartCount=nCount;} int GetScanStartCount(){return m_nStartCount;} int GetScanEndCameraCount(); void SetScanEndCamera(int iCam,int iScan); CSide_Data* GetSideData(DimensionDir eDim) {return &m_SideData[(int) eDim];} BOOL GetInspectComplete() {return m_bInspectComplete;} void SetInspectComplete(BOOL bSet) {m_bInspectComplete = bSet;} BOOL GetGlassJudge() {return m_bJudgeNG;} void SetGlassJudge(BOOL bNG) {m_bJudgeNG = bNG;} void SetStageNo(int nStageNo); int GetStageNo() {return m_nStageNo;} BOOL GetSimulation() {return m_bSimulation;} void SetSimulation(BOOL bSimul) {m_bSimulation = bSimul;} BOOL TrimString(const CString& strDataInput, std::vector& arrString, const CString& strSign = _T(",")); int DecodePose(CString strDirection); int DecodeDefectPose(CDefect_Info *pDefect, CString& strResult, const int defaultInt = -1); int PointToLineDistance(CPoint A, CPoint B, CPoint C); CPoint RotatePoint(CPoint p, double angle); CPoint TransformToGlobal(DimensionDir eDir, CPoint localPoint); protected: // Setting Params CGlassRecipe *m_pGlassRecipe; // Glass Recipe CHardwareSettings *m_pHardwareSetting; // Hardware Setting // Side Data CCriticalSection m_csSideData[MAX_SIDE_COUNT]; CSide_Data m_SideData[MAX_SIDE_COUNT]; // Judgement BOOL m_bInspectComplete; BOOL m_bJudgeNG; // TRUE : NG, FALSE : OK // Defect MapDefect m_MapDefect_NG; // °áÇÔÁ¤º¸ (NG) MapDefect m_MapDefect_OK; // °áÇÔÁ¤º¸ (OK) int m_nCurDefectIdx_Total; int m_nCurDefectIdx_NG; int m_nCurDefectIdx_OK; int m_nJudgeDefectCount; CCriticalSection m_csGlassDefect; // Time CTime m_tLoadingTime; CString m_strLoadingTime; CString m_strUnloadingTime; CString m_strScanStartTime; CString m_strScanEndTime; //park CString m_strScanEndTimeFileName; CString m_strGlassResult; CString m_strLoadingTimeFileName; CString m_strLoadingDayFileName; // Stage theta º¸Á¤ short m_nStageLongTheta[2]; short m_nStageShortTheta[2]; BOOL m_bScanEndCamera[MAX_CAMERA_COUNT][MAX_SCAN_COUNT]; BOOL m_bScanStart; BOOL m_bScanEnd[MAX_SCAN_COUNT]; BOOL m_bPostProcessing; CCriticalSection m_csProfileData; int m_nStartCount; CCriticalSection m_csInsEnd; int m_nStageNo; BOOL m_bSimulation; };