#include "StdAfx.h" #include "CHReviewRecipe/Rcp_RsAlignManager.h" CRcp_RsAlignManager::CRcp_RsAlignManager(void) { } CRcp_RsAlignManager::~CRcp_RsAlignManager(void) { } void CRcp_RsAlignManager::SetProfile(CMacroFile& macroFile) { CString strItem; // Align SKip Mode strItem.Format(_T("RCP_ALIGN_USE_SKIPMODE")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bAlignSkipMode); // TotalPitch strItem.Format(_T("RCP_ALIGN_USE_TOTALPITCH")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bTotalPitchMeasure); // image matching strItem.Format(_T("RCP_ALIGN_USE_IMAGE")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bUseImage); strItem.Format(_T("RCP_ALIGN_MATCH_RATE")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dMatchingRate); strItem.Format(_T("RCP_ALIGN_FIRST_IMAGE_FILE")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_strFirstImageFile); strItem.Format(_T("RCP_ALIGN_SECOND_IMAGE_FILE")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_strSecondImageFile); /*< LYW 20211012 - #3671 ADD Start >*/ strItem.Format(_T("RCP_ALIGN_FIRST_ASSISTANT_IMAGE_FILE")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_strFirstAssistantImageFile); strItem.Format(_T("RCP_ALIGN_SECOND_ASSISTANT_IMAGE_FILE")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_strSecondAssistantImageFile); /*< LYW 20211012 - #3671 ADD End >*/ strItem.Format(_T("RCP_ALIGN_TOTAL_PITCH_IMAGE_FILE")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_strTotalPitchImageFile); // edge find param strItem.Format(_T("RCP_ALIGN_USE_EDGE")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bUseEdge); strItem.Format(_T("RCP_ALIGN_EDGE_WIDTH")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_nEdgeWidth); strItem.Format(_T("RCP_ALIGN_EDGE_HEIGHT")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_nEdgeHeight); strItem.Format(_T("RCP_ALIGN_EDGE_THRESHOLD")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_nEdgeThreshold); strItem.Format(_T("RCP_ALIGN_MERGE_RANGE")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_nMergeRange); strItem.Format(_T("RCP_ALIGN_EDGE_RATE")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dEdgeRate); // EdgeAlign strItem.Format(_T("RCP_ALGIN_EDGEALIGN_PROCESS")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bEdgeAlignProcess); // manual light control strItem.Format(_T("RCP_ALIGN_MANUAL_PROCESS")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bManualProcess); strItem.Format(_T("RCP_ALIGN_FIRST_CAM_EXPOSURE")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dFirstCamExposure); strItem.Format(_T("RCP_ALIGN_SECOND_CAM_EXPOSURE")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dSecondCamExposure); // auto light control strItem.Format(_T("RCP_ALIGN_AUTO_PROCESS")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bAutoProcess); strItem.Format(_T("RCP_ALIGN_TARGET_MIN")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dTargetMin); strItem.Format(_T("RCP_ALIGN_TARGET_MAX")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dTargetMax); strItem.Format(_T("RCP_ALIGN_EXPOSURE_MIN")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dExposureMin); strItem.Format(_T("RCP_ALIGN_EXPOSURE_MAX")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dExposureMax); // rotate strItem.Format(_T("RCP_ALIGN_ROTATE_PROCESS")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_bRotateProcess); strItem.Format(_T("RCP_ALIGN_RETRY_COUNT")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_nRetryCount); strItem.Format(_T("RCP_ALIGN_ANGLE_MIN")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dGlassAngleMin); strItem.Format(_T("RCP_ALIGN_ANGLE_MAX")); macroFile.SetItem(strItem, m_rsRcpAlignInfo.m_dGlassAngleMax); } void CRcp_RsAlignManager::GetProfile(CMacroFile& macroFile) { CString strItem; m_rsRcpAlignInfo.Reset(); // Align SKip Mode strItem.Format(_T("RCP_ALIGN_USE_SKIPMODE")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bAlignSkipMode, 0); strItem.Format(_T("RCP_ALIGN_USE_TOTALPITCH")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bTotalPitchMeasure, 0); // image matching strItem.Format(_T("RCP_ALIGN_USE_IMAGE")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bUseImage, 1); strItem.Format(_T("RCP_ALIGN_MATCH_RATE")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dMatchingRate, 0.8); strItem.Format(_T("RCP_ALIGN_FIRST_IMAGE_FILE")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_strFirstImageFile, _T("")); strItem.Format(_T("RCP_ALIGN_SECOND_IMAGE_FILE")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_strSecondImageFile, _T("")); /*< LYW 20211012 - #3671 ADD Start >*/ strItem.Format(_T("RCP_ALIGN_FIRST_ASSISTANT_IMAGE_FILE")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_strFirstAssistantImageFile, _T("")); strItem.Format(_T("RCP_ALIGN_SECOND_ASSISTANT_IMAGE_FILE")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_strSecondAssistantImageFile, _T("")); /*< LYW 20211012 - #3671 ADD End >*/ strItem.Format(_T("RCP_ALIGN_TOTAL_PITCH_IMAGE_FILE")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_strTotalPitchImageFile, _T("")); // edge find param strItem.Format(_T("RCP_ALIGN_USE_EDGE")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bUseEdge, TRUE); strItem.Format(_T("RCP_ALIGN_EDGE_WIDTH")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_nEdgeWidth, 160); strItem.Format(_T("RCP_ALIGN_EDGE_HEIGHT")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_nEdgeHeight, 160); strItem.Format(_T("RCP_ALIGN_EDGE_THRESHOLD")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_nEdgeThreshold, 30); strItem.Format(_T("RCP_ALIGN_MERGE_RANGE")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_nMergeRange, 4); strItem.Format(_T("RCP_ALIGN_EDGE_RATE")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dEdgeRate, 0.8); strItem.Format(_T("RCP_ALGIN_EDGEALIGN_PROCESS")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bEdgeAlignProcess, FALSE); // manual light control strItem.Format(_T("RCP_ALIGN_MANUAL_PROCESS")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bManualProcess, 1); strItem.Format(_T("RCP_ALIGN_FIRST_CAM_EXPOSURE")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dFirstCamExposure, 50); strItem.Format(_T("RCP_ALIGN_SECOND_CAM_EXPOSURE")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dSecondCamExposure, 50); // auto light control strItem.Format(_T("RCP_ALIGN_AUTO_PROCESS")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bAutoProcess, 0); strItem.Format(_T("RCP_ALIGN_TARGET_MIN")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dTargetMin, 50); strItem.Format(_T("RCP_ALIGN_TARGET_MAX")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dTargetMax, 100); strItem.Format(_T("RCP_ALIGN_EXPOSURE_MIN")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dExposureMin, 0); strItem.Format(_T("RCP_ALIGN_EXPOSURE_MAX")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dExposureMax, 255); // rotate strItem.Format(_T("RCP_ALIGN_ROTATE_PROCESS")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_bRotateProcess, 0); strItem.Format(_T("RCP_ALIGN_RETRY_COUNT")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_nRetryCount, 3); strItem.Format(_T("RCP_ALIGN_ANGLE_MIN")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dGlassAngleMin, 0.001); strItem.Format(_T("RCP_ALIGN_ANGLE_MAX")); macroFile.GetItem(strItem, m_rsRcpAlignInfo.m_dGlassAngleMax, 0.1); }