209 lines
5.8 KiB
C++
209 lines
5.8 KiB
C++
#include "ParamSetCfg.h"
|
|
|
|
ParamSetCfg::ParamSetCfg()
|
|
{}
|
|
|
|
ParamSetCfg::~ParamSetCfg()
|
|
{}
|
|
|
|
void ParamSetCfg::Generate(vector<string>& ins)
|
|
{
|
|
char buffer[512];
|
|
string strtemp = "INSERT INTO %s(%s,%s,%s,%s,%s) VALUES(";
|
|
sprintf_s(buffer, sizeof(buffer), strtemp.c_str(),
|
|
TABLE_NAME.c_str(),
|
|
FIELD_CONFIG_NAME.c_str(),
|
|
FIELD_SET_TYPE.c_str(),
|
|
FIELD_DATA1.c_str(),
|
|
FIELD_DATA2.c_str(),
|
|
FIELD_DATA3.c_str());
|
|
string strsql = string(buffer) + "'%s','%s',%f,%f,%f)";
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "BorderDown", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "FillContourDown", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "HatchingDown", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "BorderAdditionalDown", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "BorderBlockedDown", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "Border", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "FillContour", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "Hatching", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "BorderAdditional", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "BorderBlocked", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "BorderUp", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "FillContourUp", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "HatchingUp", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "BorderAdditionalUp", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "BorderBlockedUp", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "BorderSupport", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "HatchingSupport", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "BorderAdditionalSupport", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "WallSupport", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), strsql.c_str(),
|
|
"Default", "Other", 300.0, 0.1, 100.0);
|
|
ins.push_back(buffer);
|
|
}
|
|
|
|
void ParamSetCfg::GetUpdateSql(vector<string>& ups)
|
|
{}
|
|
|
|
//bool ParamSetCfg::Add(string name)
|
|
//{
|
|
// for (auto pps : ParamSetVec)
|
|
// {
|
|
// if (pps->ConfigName == name)
|
|
// return false;
|
|
// }
|
|
//
|
|
// ParamSet* ps = new ParamSet;
|
|
// ps->ConfigName = name;
|
|
//
|
|
// std::map<string, LaserSet*>::iterator it;
|
|
// for (it = ParamSetVec.front()->LaserSetMap.begin();
|
|
// it != ParamSetVec.front()->LaserSetMap.end();
|
|
// it++)
|
|
// {
|
|
// LaserSet* ls = new LaserSet;
|
|
// ls->laser_speed = it->second->laser_speed;
|
|
// ls->laser_diameter = it->second->laser_diameter;
|
|
// ls->laser_power = it->second->laser_power;
|
|
// ps->LaserSetMap[it->first] = ls;
|
|
// }
|
|
//
|
|
// for (unsigned int i = 0; i < ParamSetVec.front()->PowderSets.size(); i++)
|
|
// {
|
|
// PowderSet* src = ParamSetVec.front()->PowderSets[i];
|
|
// PowderSet* pps = new PowderSet;
|
|
// pps->end_layer = src->end_layer;
|
|
// pps->start_layer = src->start_layer;
|
|
// pps->powder = src->powder;
|
|
// ps->PowderSets.push_back(pps);
|
|
// }
|
|
//
|
|
// ParamSetVec.push_back(ps);
|
|
// return true;
|
|
//}
|
|
|
|
//bool ParamSetCfg::Delete(string name)
|
|
//{
|
|
// if (name == "Default")
|
|
// return false;
|
|
//
|
|
// std::vector<ParamSet*>::iterator it;
|
|
// for (it = ParamSetVec.begin(); it != ParamSetVec.end(); it++)
|
|
// {
|
|
// if ((*it)->ConfigName == name)
|
|
// {
|
|
// std::map<string, LaserSet*>::iterator lsit;
|
|
// for (lsit = (*it)->LaserSetMap.begin();
|
|
// lsit != (*it)->LaserSetMap.end();
|
|
// lsit++)
|
|
// {
|
|
// delete lsit->second;
|
|
// }
|
|
// (*it)->LaserSetMap.clear();
|
|
//
|
|
// for (unsigned int i = 0; i < (*it)->PowderSets.size(); i++)
|
|
// delete (*it)->PowderSets[i];
|
|
// (*it)->PowderSets.clear();
|
|
//
|
|
// ParamSetVec.erase(it);
|
|
// break;
|
|
// }
|
|
// }
|
|
//
|
|
// return true;
|
|
//}
|
|
|
|
void ParamSetCfg::UpdatePowderCfg(const ReadData& wd) { //全量更新层供粉量配置
|
|
std::unique_lock<std::shared_mutex> lck(m_sMtx);
|
|
if (ParamSetVec.empty()) return;
|
|
|
|
auto it = ParamSetVec[0]->PowderSets.begin();
|
|
while (it != ParamSetVec[0]->PowderSets.end()) {
|
|
delete (*it);
|
|
++it;
|
|
}
|
|
ParamSetVec[0]->PowderSets.clear();
|
|
|
|
for (auto item = wd.its.begin(); item != wd.its.end(); ++item) {
|
|
PowderSet* ppowder = new PowderSet(item->start_layer, item->end_layer, item->powder);
|
|
ParamSetVec[0]->PowderSets.emplace_back(ppowder);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
void ParamSetCfg::GetPowderCfg(vector<PowderSet>& powderVec) {
|
|
std::shared_lock<std::shared_mutex> lck(m_sMtx);
|
|
if (ParamSetVec.empty()) return;
|
|
for (auto item = ParamSetVec[0]->PowderSets.begin(); item != ParamSetVec[0]->PowderSets.end(); ++item) {
|
|
powderVec.emplace_back(PowderSet{ (*item)->start_layer,(*item)->end_layer, (*item)->powder });
|
|
}
|
|
|
|
}
|
|
|
|
const string ParamSetCfg::TABLE_NAME = "ParamSet";
|
|
const string ParamSetCfg::FIELD_ID = "ID";
|
|
const string ParamSetCfg::FIELD_CONFIG_NAME = "ConfigName";
|
|
const string ParamSetCfg::FIELD_SET_TYPE = "SetType";
|
|
const string ParamSetCfg::FIELD_DATA1 = "Data1";
|
|
const string ParamSetCfg::FIELD_DATA2 = "Data2";
|
|
const string ParamSetCfg::FIELD_DATA3 = "Data3";
|