#include "ParamSetCfg.h" ParamSetCfg::ParamSetCfg() {} ParamSetCfg::~ParamSetCfg() {} void ParamSetCfg::Generate(vector& 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& 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::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::iterator it; // for (it = ParamSetVec.begin(); it != ParamSetVec.end(); it++) // { // if ((*it)->ConfigName == name) // { // std::map::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 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& powderVec) { std::shared_lock 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";