GrpcPrint/PrintS/Config/bean/ParamSetCfg.cpp
2024-03-19 17:45:12 +08:00

181 lines
4.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;
}
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";