260 lines
9.0 KiB
C++
260 lines
9.0 KiB
C++
|
#include "RecoatCheckCfg.h"
|
|||
|
#include "BaseConfig.h"
|
|||
|
|
|||
|
RecoatCheckCfg::RecoatCheckCfg()
|
|||
|
{
|
|||
|
m_Enable = false;
|
|||
|
m_MaskTopLeftX = 0;
|
|||
|
m_MaskTopLeftY = 0;
|
|||
|
m_MaskTopRightX = 500;
|
|||
|
m_MaskTopRightY = 0;
|
|||
|
m_MaskBottomLeftX = 0;
|
|||
|
m_MaskBottomLeftY = 500;
|
|||
|
m_MaskBottomRightX = 500;
|
|||
|
m_MaskBottomRightY = 500;
|
|||
|
m_TransformTopLeftX = -40;
|
|||
|
m_TransformTopLeftY = 40;
|
|||
|
m_TransformTopRightX = 40;
|
|||
|
m_TransformTopRightY = 40;
|
|||
|
m_TransformBottomLeftX = -40;
|
|||
|
m_TransformBottomLeftY = -40;
|
|||
|
m_TransformBottomRightX = 40;
|
|||
|
m_TransformBottomRightY = -40;
|
|||
|
// ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>ֵ
|
|||
|
m_PerIslandCntThreshold = 10;
|
|||
|
// <20><><EFBFBD><EFBFBD>δ<EFBFBD>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD>Ϊ<EFBFBD>뾶<EFBFBD><EBBEB6>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m_AreaThresholdFactor
|
|||
|
m_AreaThresholdFactor = 1.0f;
|
|||
|
// <20><><EFBFBD><EFBFBD>δ<EFBFBD>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m_LengthThresholdFactor
|
|||
|
m_LengthThresholdFactor = 10.0f;
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>̷۳<CCB7><DBB3>Դ<EFBFBD><D4B4><EFBFBD>
|
|||
|
m_RetryTimes = 3;
|
|||
|
// ͼ<><CDBC><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ֵ
|
|||
|
m_BinaryThreshold = 96;
|
|||
|
m_CheckOnPowderTest = false;
|
|||
|
|
|||
|
m_CheckType = WHOLE_PERCENTAGE;
|
|||
|
m_UncoverPercentage = 20.0;
|
|||
|
m_IsUpPartNotLight = true;
|
|||
|
m_ImageScale = 5;
|
|||
|
m_GrayOffset = 10;
|
|||
|
}
|
|||
|
|
|||
|
RecoatCheckCfg::~RecoatCheckCfg()
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
void RecoatCheckCfg::GetUpdateSql(vector<string>& ups)
|
|||
|
{
|
|||
|
char buffer[512];
|
|||
|
sprintf_s(buffer, sizeof(buffer), "UPDATE %s set %s=",
|
|||
|
BaseConfig::TABLE_NAME.c_str(),
|
|||
|
BaseConfig::FIELD_CONFIG_VALUE.c_str()
|
|||
|
);
|
|||
|
string strhead(buffer);
|
|||
|
sprintf_s(buffer, sizeof(buffer), " WHERE %s='%s' AND %s=",
|
|||
|
BaseConfig::FIELD_CONFIG_NAME.c_str(),
|
|||
|
RecoatCheckCfg::CONFIG_NAME.c_str(),
|
|||
|
BaseConfig::FIELD_CONFIG_CODE.c_str()
|
|||
|
);
|
|||
|
string strtail(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_Enable).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_ENABLE.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_MaskTopLeftX).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_MASK_TOP_LEFT_X.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_MaskTopLeftY).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_MASK_TOP_LEFT_Y.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_MaskTopRightX).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_MASK_TOP_RIGHT_X.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_MaskTopRightY).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_MASK_TOP_RIGHT_Y.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_MaskBottomLeftX).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_MASK_BOTTOM_LEFT_X.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_MaskBottomLeftY).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_MASK_BOTTOM_LEFT_Y.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_MaskBottomRightX).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_MASK_BOTTOM_RIGHT_X.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_MaskBottomRightY).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_MASK_BOTTOM_RIGHT_Y.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_TransformTopLeftX).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_TRANSFORM_TOP_LEFT_X.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_TransformTopLeftY).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_TRANSFORM_TOP_LEFT_Y.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_TransformTopRightX).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_TRANSFORM_TOP_RIGHT_X.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_TransformTopRightY).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_TRANSFORM_TOP_RIGHT_Y.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_TransformBottomLeftX).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_TRANSFORM_BOTTOM_LEFT_X.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_TransformBottomLeftY).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_TRANSFORM_BOTTOM_LEFT_Y.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_TransformBottomRightX).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_TRANSFORM_BOTTOM_RIGHT_X.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_TransformBottomRightY).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_TRANSFORM_BOTTOM_RIGHT_Y.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_PerIslandCntThreshold).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_ISLAND_THRESHOLD.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_AreaThresholdFactor).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_AREA_FACTOR.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_LengthThresholdFactor).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_LENGTH_FACTOR.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_RetryTimes).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_RETRY_TIMES.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_BinaryThreshold).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_BINARY_THRESHOLD.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_CheckOnPowderTest).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_CHECK_ON_POWDER_TEST.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_CheckType).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_CHECK_TYPE.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_UncoverPercentage).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_UNCOVER_PERCENTAGE.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
m_IsUpPartNotLight ? "1" : "0",
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_IS_UP_PART_NOT_LIGHT.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_ImageScale).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_IMAGE_SCALE.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
|
|||
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'",
|
|||
|
strhead.c_str(),
|
|||
|
to_string(m_GrayOffset).c_str(),
|
|||
|
strtail.c_str(), RecoatCheckCfg::FIELD_GRAY_OFFSET.c_str());
|
|||
|
ups.push_back(buffer);
|
|||
|
}
|
|||
|
|
|||
|
string RecoatCheckCfg::CONFIG_NAME = "RecoatCheck";
|
|||
|
string RecoatCheckCfg::FIELD_ENABLE = "Enable";
|
|||
|
string RecoatCheckCfg::FIELD_MASK_TOP_LEFT_X = "MaskTopLeftX";
|
|||
|
string RecoatCheckCfg::FIELD_MASK_TOP_LEFT_Y = "MaskTopLeftY";
|
|||
|
string RecoatCheckCfg::FIELD_MASK_TOP_RIGHT_X = "MaskTopRightX";
|
|||
|
string RecoatCheckCfg::FIELD_MASK_TOP_RIGHT_Y = "MaskTopRightY";
|
|||
|
string RecoatCheckCfg::FIELD_MASK_BOTTOM_LEFT_X = "MaskBottomLeftX";
|
|||
|
string RecoatCheckCfg::FIELD_MASK_BOTTOM_LEFT_Y = "MaskBottomLeftY";
|
|||
|
string RecoatCheckCfg::FIELD_MASK_BOTTOM_RIGHT_X = "MaskBottomRightX";
|
|||
|
string RecoatCheckCfg::FIELD_MASK_BOTTOM_RIGHT_Y = "MaskBottomRightY";
|
|||
|
string RecoatCheckCfg::FIELD_TRANSFORM_TOP_LEFT_X = "TransformTopLeftX";
|
|||
|
string RecoatCheckCfg::FIELD_TRANSFORM_TOP_LEFT_Y = "TransformTopLeftY";
|
|||
|
string RecoatCheckCfg::FIELD_TRANSFORM_TOP_RIGHT_X = "TransformTopRightX";
|
|||
|
string RecoatCheckCfg::FIELD_TRANSFORM_TOP_RIGHT_Y = "TransformTopRightY";
|
|||
|
string RecoatCheckCfg::FIELD_TRANSFORM_BOTTOM_LEFT_X = "TransformBottomLeftX";
|
|||
|
string RecoatCheckCfg::FIELD_TRANSFORM_BOTTOM_LEFT_Y = "TransformBottomLeftY";
|
|||
|
string RecoatCheckCfg::FIELD_TRANSFORM_BOTTOM_RIGHT_X = "TransformBottomRightX";
|
|||
|
string RecoatCheckCfg::FIELD_TRANSFORM_BOTTOM_RIGHT_Y = "TransformBottomRightY";
|
|||
|
string RecoatCheckCfg::FIELD_ISLAND_THRESHOLD = "IslandThreshold";
|
|||
|
string RecoatCheckCfg::FIELD_AREA_FACTOR = "AreaFactor";
|
|||
|
string RecoatCheckCfg::FIELD_LENGTH_FACTOR = "LengthFactor";
|
|||
|
string RecoatCheckCfg::FIELD_RETRY_TIMES = "RetryTimes";
|
|||
|
string RecoatCheckCfg::FIELD_BINARY_THRESHOLD = "BinaryThreshold";
|
|||
|
string RecoatCheckCfg::FIELD_CHECK_ON_POWDER_TEST = "CheckOnPowderTest";
|
|||
|
string RecoatCheckCfg::FIELD_CHECK_TYPE = "CheckType";
|
|||
|
string RecoatCheckCfg::FIELD_UNCOVER_PERCENTAGE = "Uncocer_percentage";
|
|||
|
string RecoatCheckCfg::FIELD_IS_UP_PART_NOT_LIGHT = "IsUpPartNotLight";
|
|||
|
string RecoatCheckCfg::FIELD_IMAGE_SCALE = "ImageScale";
|
|||
|
string RecoatCheckCfg::FIELD_GRAY_OFFSET = "GrayOffset";
|
|||
|
|