#include "CorrectParamCfg.h" #include "ScanCfg.h" CorrectParamCfg::CorrectParamCfg() :m_realXOffset(0.0f) ,m_realYOffset(0.0f) //,m_xoffset(0.0f) //,m_yoffset(0.0f) //, m_xscale(1.0) //,m_yscale(1.0) { m_xmeasure_min=-140.0; m_xmeasure_max=140.0; m_ymeasure_min=-140.0; m_ymeasure_max=140.0; m_xposfix=0.0; m_yposfix=0.0; //m_xoffset=0.0; //m_yoffset=0.0; m_scan_angle=0.0; m_scan_angle_min=0.0; m_scan_angle_max=360.0; m_fix_angle = 0.0; m_fix_angle_min = 0.0; m_fix_angle_max = 360.0; m_xcorrect=1.0; m_ycorrect=1.0; m_xcorrect_min=0.2; m_xcorrect_max=5; m_ycorrect_min=0.2; m_ycorrect_max=5; //m_xscale=1.0; //m_xscale_min=0.0; //m_xscale_max=10.0; //m_yscale=1.0; //m_yscale_min=0.0; //m_yscale_max=10.0; m_realXOffset=0.0; m_realYOffset=0.0; m_FactorK=1824.0; m_IsCorrectFile3D = true; //m_DownSkinStopTimes = 0; m_IsDynamicFocus = true; //是否动态聚焦 m_DefocusRatio = 10.0; //离焦比 m_DefocusRatioMin = 0.0; m_DefocusRatioMax = 50.0; } CorrectParamCfg::~CorrectParamCfg() { } void CorrectParamCfg::GetUpdateSql(int cno,vector& ups) { char buffer[512]; sprintf_s(buffer, sizeof(buffer), "UPDATE %s set %s=", ScanCfg::TABLE_NAME.c_str(), ScanCfg::FIELD_SCAN_VALUE.c_str() ); string strhead(buffer); sprintf_s(buffer, sizeof(buffer), " WHERE %s=%d AND %s='%s' AND %s=", ScanCfg::FIELD_CNO.c_str(), cno, ScanCfg::FIELD_CONFIG_NAME.c_str(), CONFIG_NAME.c_str(), ScanCfg::FIELD_SCAN_CODE.c_str() ); string strtail(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_scan_angle).c_str(), strtail.c_str(), FIELD_SCAN_ANGLE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_fix_angle).c_str(), strtail.c_str(), FIELD_FIX_ANGLE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_xmeasure_min).c_str(), strtail.c_str(), FIELD_X_MEASURE_MIN.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_xmeasure_max).c_str(), strtail.c_str(), FIELD_X_MEASURE_MAX.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_ymeasure_min).c_str(), strtail.c_str(), FIELD_Y_MEASURE_MIN.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_ymeasure_max).c_str(), strtail.c_str(), FIELD_Y_MEASURE_MAX.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_xposfix).c_str(), strtail.c_str(), FIELD_X_POS_FIX.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_yposfix).c_str(), strtail.c_str(), FIELD_Y_POS_FIX.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_xcorrect).c_str(), strtail.c_str(), FIELD_X_CORRECT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_ycorrect).c_str(), strtail.c_str(), FIELD_Y_CORRECT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_FactorK).c_str(), strtail.c_str(), FIELD_FACTOR_K.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_IsCorrectFile3D?"1":"0", strtail.c_str(), FIELD_IS_CORRECT_FILE_3D.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), m_IsDynamicFocus ? "1" : "0", strtail.c_str(), FIELD_IS_DYNAMIC_FOCUS.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_DefocusRatio).c_str(), strtail.c_str(), FIELD_DEFOCUS_RATIO.c_str()); ups.push_back(buffer); } void CorrectParamCfg::SetCorrectCfg(stream::CorrectParamCfg* cp) { cp->set_xmeasuremin(m_xmeasure_min); cp->set_xmeasuremax(m_xmeasure_max); cp->set_ymeasuremin(m_ymeasure_min); cp->set_ymeasuremax(m_ymeasure_max); cp->set_xposfix(m_xposfix); cp->set_yposfix(m_yposfix); cp->set_scanangle(m_scan_angle); cp->set_scananglemin(m_scan_angle_min); cp->set_scananglemax(m_scan_angle_max); cp->set_fixanglemax(m_fix_angle); cp->set_fixanglemin(m_fix_angle_min); cp->set_fixanglemax(m_fix_angle_max); cp->set_xcorrect(m_xcorrect); cp->set_ycorrect(m_ycorrect); cp->set_xcorrectmin(m_xcorrect_min); cp->set_xcorrectmax(m_xcorrect_max); cp->set_ycorrectmin(m_ycorrect_min); cp->set_ycorrectmax(m_ycorrect_max); cp->set_realxoffset(m_realXOffset); cp->set_realyoffset(m_realYOffset); cp->set_factork(m_FactorK); cp->set_iscorrectfile3d(m_IsCorrectFile3D); cp->set_isdynamicfocus(m_IsDynamicFocus); cp->set_defocusratio(m_DefocusRatio); cp->set_defocusratiomin(m_DefocusRatioMin); cp->set_defocusratiomax(m_DefocusRatioMax); } string CorrectParamCfg::CONFIG_NAME = "CorrectParamCfg"; string CorrectParamCfg::FIELD_X_MEASURE_MIN = "XMeasureMin"; string CorrectParamCfg::FIELD_X_MEASURE_MAX = "XMeasureMax"; string CorrectParamCfg::FIELD_Y_MEASURE_MIN = "YMeasureMin"; string CorrectParamCfg::FIELD_Y_MEASURE_MAX = "YMeasureMax"; string CorrectParamCfg::FIELD_X_POS_FIX="XPosFix"; string CorrectParamCfg::FIELD_Y_POS_FIX="YPosFix"; //string CorrectParamCfg::FIELD_X_OFFSET = "XOffset"; // string CorrectParamCfg::FIELD_Y_OFFSET = "YOffset"; string CorrectParamCfg::FIELD_SCAN_ANGLE = "ScanAngle"; string CorrectParamCfg::FIELD_SCAN_ANGLE_MIN = "ScanAngleMin"; string CorrectParamCfg::FIELD_SCAN_ANGLE_MAX = "ScanAngleMax"; string CorrectParamCfg::FIELD_FIX_ANGLE = "FixAngle"; string CorrectParamCfg::FIELD_FIX_ANGLE_MIN = "FixAngleMin"; string CorrectParamCfg::FIELD_FIX_ANGLE_MAX = "FixAngleMax"; string CorrectParamCfg::FIELD_X_CORRECT = "XCorrect"; string CorrectParamCfg::FIELD_Y_CORRECT = "YCorrect"; string CorrectParamCfg::FIELD_X_CORRECT_MIN = "XCorrectMin"; string CorrectParamCfg::FIELD_X_CORRECT_MAX = "XCorrectMax"; string CorrectParamCfg::FIELD_Y_CORRECT_MIN = "YCorrectMin"; string CorrectParamCfg::FIELD_Y_CORRECT_MAX = "YCorrectMax"; string CorrectParamCfg::FIELD_FACTOR_K = "FactorK"; string CorrectParamCfg::FIELD_IS_CORRECT_FILE_3D = "IsCorrectFile3D"; string CorrectParamCfg::FIELD_IS_DYNAMIC_FOCUS = "IsDynamicFocus"; string CorrectParamCfg::FIELD_DEFOCUS_RATIO = "DefocusRatio"; string CorrectParamCfg::FIELD_DEFOCUS_RATIO_MIN = "DefocusRatioMin"; string CorrectParamCfg::FIELD_DEFOCUS_RATIO_MAX = "DefocusRatioMax";