#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; } 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";