COMPASSi/trunk/code/projects/Application/StabilityUIFunction.cpp

136 lines
3.2 KiB
C++
Raw Normal View History

2025-06-25 15:06:42 +08:00
#pragma execution_character_set("utf-8")
#include "StabilityUIFunction.h"
#include "Logger.h"
#define BIND(func) std::bind(&StabilityUIFunction::func, this, std::placeholders::_1)
StabilityUIFunction::StabilityUIFunction()
{
ccsMessageHandle::instance()->register_callback(BIND(stab_create_cal), CMD_stab_create_cal);
ccsMessageHandle::instance()->register_callback(BIND(stab_cal), CMD_stab_cal);
ccsMessageHandle::instance()->register_callback(BIND(stab_delete_cal), CMD_stab_delete_cal);
LOG_DEBUG("StabilityUIFunction Constructed");
}
StabilityUIFunction::~StabilityUIFunction()
{
ccsMessageHandle::instance()->unregister_callback(CMD_stab_create_cal);
ccsMessageHandle::instance()->unregister_callback(CMD_stab_cal);
ccsMessageHandle::instance()->unregister_callback(CMD_stab_delete_cal);
LOG_DEBUG("StabilityUIFunction Destroyed");
}
void StabilityUIFunction::stab_create_cal(const QString& message)
{
bool bRet = false;
QString outMsg;
nlohmann::json myjson;
int errorCode = 0;
vector<string> vCom;
try
{
myjson = nlohmann::json::parse(message.toStdString());
}
catch (const nlohmann::json::parse_error& e)
{
outMsg = e.what();
return;
}
if (!myjson.contains("data"))
{
outMsg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>json<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
return;
}
if (myjson["data"].is_array())
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for (size_t i = 0; i < myjson["data"].size(); i++)
{
vCom.emplace_back(myjson["data"][i].get<string>());
}
}
else
{
outMsg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>json<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
return;
}
int cmd = CMD_stab_cal;
bRet = getStabilityModelPtr()->stabilityCalc(vCom, E_AnalysisModuleOperation_Type_Create);
if (!bRet)
{
QtToWebFunction::getInstance().qt2web(cmd, EXECUTE_FAIL, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "");
}
else
{
QtToWebFunction::getInstance().qt2web(cmd, EXECUTE_SUCCESS, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>", "");
}
}
void StabilityUIFunction::stab_cal(const QString& message)
{
bool bRet = false;
QString outMsg;
nlohmann::json myjson;
int errorCode = 0;
vector<string> vCom;
try
{
myjson = nlohmann::json::parse(message.toStdString());
}
catch (const nlohmann::json::parse_error& e)
{
outMsg = e.what();
return ;
}
if (!myjson.contains("data"))
{
outMsg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>json<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
return ;
}
if (myjson["data"].is_array())
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for (size_t i = 0; i < myjson["data"].size(); i++)
{
vCom.emplace_back(myjson["data"][i].get<string>());
}
}
else
{
outMsg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>json<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
return;
}
int cmd = CMD_stab_cal;
bRet = getStabilityModelPtr()->stabilityCalc(vCom, E_AnalysisModuleOperation_Type_Calc);
if (!bRet)
{
QtToWebFunction::getInstance().qt2web(cmd, EXECUTE_FAIL, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "");
}
else
{
QtToWebFunction::getInstance().qt2web(cmd, EXECUTE_SUCCESS, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>","");
}
}
void StabilityUIFunction::stab_delete_cal(const QString& message)
{
//QString commandLine = "";
////getStabilityModelPtr()->stabilityCalc(commandLine, E_AnalysisModuleOperation_Type_Delete);
}