173 lines
6.4 KiB
C++
173 lines
6.4 KiB
C++
#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<string>& 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"; |