| | |
| | | |
| | | void CViewMain_ScanImage::SaveFullImageAll() |
| | | { |
| | | if(m_pGlassData == NULL || m_IV2M == NULL) |
| | | if (m_pGlassData == NULL || m_IV2M == NULL) { |
| | | return; |
| | | } |
| | | |
| | | int iView; |
| | | CPoint ptStart; |
| | |
| | | int iSide; |
| | | int nTotalLength = 0; |
| | | int nFrame = 0; |
| | | CGlassRecipe *pGlassRcp = m_pGlassData->GetGlassRecipe(); |
| | | CGlassRecipe *pGlassRcp = m_pGlassData->GetGlassRecipe(); |
| | | |
| | | #if OFFLINE_KEY == 1 |
| | | if (NULL == pGlassRcp) return; |
| | |
| | | CString strRcpName = pGlassRcp->GetRecipeName(); |
| | | CString strGlassID = g_pBase->m_strHPanelID; |
| | | |
| | | if(strGlassID.IsEmpty() == TRUE) |
| | | { |
| | | if(strGlassID.IsEmpty() == TRUE) { |
| | | strGlassID = _T("Manual_ID"); |
| | | } |
| | | if(strRcpName.IsEmpty() == TRUE) |
| | | { |
| | | if(strRcpName.IsEmpty() == TRUE) { |
| | | strRcpName = _T("TestRcp"); |
| | | } |
| | | |
| | | strGlassID.Trim(_T(' ')); |
| | | |
| | | CTime time = CTime::GetCurrentTime(); |
| | | |
| | | CString strDate,strTime; |
| | | CString strDate, strTime; |
| | | |
| | | strDate.Format(_T("%04d%02d%02d"),time.GetYear(),time.GetMonth(),time.GetDay()); |
| | | strTime.Format(_T("%02d%02d%02d"),time.GetHour(),time.GetMinute(),time.GetSecond()); |
| | | |
| | | for(iView=0;iView<MAX_DIMENSION_COUNT;iView++) |
| | | { |
| | | for(iView=0;iView<MAX_DIMENSION_COUNT;iView++) { |
| | | iSide = GetSideIdx(iView); |
| | | |
| | | int iCam = m_pHardware->GetCameraIndexToDimension((DimensionDir)iSide); |
| | | int iScan = m_pHardware->GetScanToDimension((DimensionDir)iSide); |
| | | int iCam = m_pHardware->GetCameraIndexToDimension((DimensionDir)iSide); |
| | | int iScan = m_pHardware->GetScanToDimension((DimensionDir)iSide); |
| | | |
| | | CCameraSettings *pCamera = m_pHardware->GetCameraSettings(iCam,iScan); |
| | | if(pCamera == NULL) |
| | | if (pCamera == NULL) { |
| | | return; |
| | | } |
| | | |
| | | nTotalLength = (pCamera->m_nGrabFrameCount-1)*pCamera->m_FrameSize.cy; |
| | | //nFrame = nTotalLength/nOneFrameSize; |
| | | |
| | | ptStart.x = 0; |
| | | ptStart.y = max(0,0); |
| | | ptStart.y = max(0,0); |
| | | |
| | | int nMaxSize = (pCamera->m_nGrabFrameCount-1)*pCamera->m_FrameSize.cy; |
| | | int nMaxSize = (pCamera->m_nGrabFrameCount-1)*pCamera->m_FrameSize.cy; |
| | | |
| | | CSide_Data* pSideData = m_pGlassData->GetSideData((DimensionDir)iSide); |
| | | if(pSideData != NULL) |
| | | { |
| | | if(pSideData != NULL) { |
| | | ptStart.y = max(0,pSideData->m_nGlassStartLine-1000); |
| | | |
| | | nTotalLength = min((int)((pSideData->m_nPreGlassEndLine + 1000) - ptStart.y),nMaxSize); |
| | | } |
| | | |
| | | if(nTotalLength < 10000) |
| | | if (nTotalLength < 10000) { |
| | | nTotalLength = nMaxSize; |
| | | } |
| | | |
| | | nFrame = nTotalLength/nOneFrameSize; |
| | | if(ptStart.y < 0) |
| | | nFrame = nTotalLength / nOneFrameSize; |
| | | if (ptStart.y < 0) { |
| | | ptStart.y = 0; |
| | | |
| | | for(int i = 0; i < nFrame ; i++) |
| | | { |
| | | } |
| | | |
| | | for(int i = 0; i < nFrame ; i++) { |
| | | nLength = nOneFrameSize; |
| | | |
| | | if(ptStart.y+nLength >= nMaxSize) |
| | | if (ptStart.y + nLength >= nMaxSize) { |
| | | continue; |
| | | } |
| | | |
| | | strPath.Format(_T("%s\\DebugFullImage\\%s\\%s\\%s\\%s\\%s__%s_%d"),PATH_INSPECTION_DATA,strDate,strRcpName,strGlassID,strTime,strGlassID,PANEL_SIDE[iSide],i); |
| | | |
| | | m_IV2M->IV2M_SaveFullImage(strPath,iSide,ptStart,nLength); |
| | | |
| | | g_pLog->DisplayMessage(_T("%s %d Save Completed : %s"),PANEL_SIDE[iSide],i,strPath); |
| | | |
| | | ptStart.y += nLength; |
| | | } |
| | | |
| | | nLength = nTotalLength%nOneFrameSize; |
| | | if(nLength > 10) |
| | | { |
| | | if(ptStart.y+nLength < nMaxSize) |
| | | { |
| | | if(nLength > 10) { |
| | | if(ptStart.y+nLength < nMaxSize) { |
| | | strPath.Format(_T("%s\\DebugFullImage\\%s\\%s\\%s\\%s\\%s__%s_%d"),PATH_INSPECTION_DATA,strDate,strRcpName,strGlassID,strTime,strGlassID,PANEL_SIDE[iSide],nFrame); |
| | | |
| | | m_IV2M->IV2M_SaveFullImage(strPath,iSide,ptStart,nLength); |
| | | } |
| | | } |
| | |
| | | int nTotalLength = 0; |
| | | int nFrame = 0; |
| | | |
| | | if(m_pGlassData == NULL || m_IV2M == NULL) |
| | | if (m_pGlassData == NULL || m_IV2M == NULL) { |
| | | return; |
| | | |
| | | } |
| | | |
| | | CGlassRecipe *pGlassRcp = m_pGlassData->GetGlassRecipe(); |
| | | CString strRcpName = pGlassRcp->GetRecipeName(); |
| | | |
| | | int iCam = m_pHardware->GetCameraIndexToDimension((DimensionDir)iSide); |
| | | int iScan = m_pHardware->GetScanToDimension((DimensionDir)iSide); |
| | | int iCam = m_pHardware->GetCameraIndexToDimension((DimensionDir)iSide); |
| | | int iScan = m_pHardware->GetScanToDimension((DimensionDir)iSide); |
| | | |
| | | CCameraSettings *pCamera = m_pHardware->GetCameraSettings(iCam,iScan); |
| | | if(pCamera == NULL) |
| | | if (pCamera == NULL) { |
| | | return; |
| | | } |
| | | |
| | | nTotalLength = pCamera->m_nGrabFrameCount*pCamera->m_FrameSize.cy; |
| | | nFrame = nTotalLength/nOneFrameSize; |
| | |
| | | ptStart.y = max(0,0); |
| | | |
| | | CSide_Data *pSideData = m_pGlassData->GetSideData((DimensionDir)iSide); |
| | | if(pSideData != NULL) |
| | | { |
| | | if(pSideData != NULL) { |
| | | ptStart.y = max(0,pSideData->m_nGlassStartLine-1000); |
| | | |
| | | nTotalLength = min((pSideData->m_nGlassEndLine + 1000) - ptStart.y,pCamera->m_nGrabFrameCount*pCamera->m_FrameSize.cy); |
| | | } |
| | | |
| | | CString strGlassID = g_pBase->m_strHPanelID; |
| | | if(strGlassID.IsEmpty() == TRUE) |
| | | { |
| | | if(strGlassID.IsEmpty() == TRUE) { |
| | | strGlassID = _T("Manual_ID"); |
| | | } |
| | | |
| | | if(strRcpName.IsEmpty() == TRUE) |
| | | { |
| | | if(strRcpName.IsEmpty() == TRUE) { |
| | | strRcpName = _T("TestRcp"); |
| | | } |
| | | |
| | | strGlassID.Trim(_T(' ')); |
| | | |
| | | CTime time = CTime::GetCurrentTime(); |
| | | |
| | | CString strDate,strTime; |
| | | CString strDate,strTime; |
| | | |
| | | strDate.Format(_T("%04d%02d%02d"),time.GetYear(),time.GetMonth(),time.GetDay()); |
| | | strTime.Format(_T("%02d%02d%02d"),time.GetHour(),time.GetMinute(),time.GetSecond()); |
| | | |
| | | for(int i = 0; i < nFrame ; i++) |
| | | { |
| | | for(int i = 0; i < nFrame ; i++) { |
| | | nLength = nOneFrameSize; |
| | | |
| | | strPath.Format(_T("%s\\DebugFullImage\\%s\\%s\\%s\\%s\\%s__%s_%d"),PATH_INSPECTION_DATA,strDate,strRcpName,strGlassID,strTime,strGlassID,PANEL_SIDE[iSide],i); |
| | |
| | | g_pLog->DisplayMessage(_T("%s %d Save Completed : %s"),PANEL_SIDE[iSide],i,strPath); |
| | | } |
| | | |
| | | |
| | | nLength = nTotalLength%nOneFrameSize; |
| | | if(nLength) |
| | | { |
| | | nLength = nTotalLength % nOneFrameSize; |
| | | if(nLength) { |
| | | strPath.Format(_T("%s\\DebugFullImage\\%s\\%s\\%s\\%s\\%s__%s_%d"),PATH_INSPECTION_DATA,strDate,strRcpName,strGlassID,strTime,strGlassID,PANEL_SIDE[iSide],nFrame); |
| | | |
| | | m_IV2M->IV2M_SaveFullImage(strPath,iSide,ptStart,nLength); |
| | | |
| | | g_pLog->DisplayMessage(_T("%s %d Save Completed : %s"),PANEL_SIDE[iSide],nFrame,strPath); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | UINT CViewMain_ScanImage::ManualProcessAll(LPVOID pParam) |