Bläddra i källkod

0922 修改发送消息

caizm 2 år sedan
förälder
incheckning
c18bb95685

+ 147 - 9
CAE_Solution/src/acis/cmdmainprocess.cpp

@@ -12,6 +12,8 @@
 #include "at_str.hxx"
 #include "at_int.hxx"
 
+
+
 // Global variables to control the demonstration of advanced meshing functionalities
 // 0 - skip; 1 - apply
 //int USE_LOCAL_PHYSICAL_SIZE = 0; // 3DPM-CadSurf
@@ -36,12 +38,18 @@ cmdMainProcess::cmdMainProcess()
     szmp_iso_point_t_ = nullptr;
     SampleUtils_ = NULL;//new DPMvolClass();
     object = NULL;
+
+    sm = NULL;
 }
 
 cmdMainProcess::~cmdMainProcess()
 {
     if(object)
         object = NULL;
+    if(sm){
+        delete sm;
+        sm = NULL;
+    }
 }
 
 /**
@@ -255,29 +263,48 @@ bool cmdMainProcess::CreateProcess_(string pathGeo)
 bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
 {
     Q_UNUSED(pathParam);
+    sm = new stateMachine("sendClient");
     // Note that 3DPM-Hexa does not respect the input surface mesh //3dpm-hexa不遵循曲面网格
     // If USE_HEXA is set to 1,
     // then both APPLY_PERIODICITY and USE_LOCAL_PHYSICAL_SIZE are set to 0
     iniACIS();
-
+    sm->sendClient->sendMsg(object->ToJson("log","1.--read cad surf parameter"));
     //1.--read cad surf parameter
     //Get ENTITY_LIST;
     ENTITY_LIST Whole_ents;
     ENTITY_LIST cells;
     ENTITY_LIST ent;
+    string msg_str;
     int externGeo = 0;
     if (externGeo == 0) {
         GeometryImExporter* geo = new GeometryImExporter();
         geo->LoadGeometryFile(pathGeo);
         ENTITY_LIST readRowEnt = geo->GetEntities();
-        printf("Read all entity body count is %d;\n", readRowEnt.count());
+        //---------
+
+        msg_str = "Read all entity body count is ";
+        msg_str.append(to_string(readRowEnt.count()));
+        msg_str.append(";");
+        sm->sendClient->sendMsg(object->ToJson("log",msg_str));
+        //printf("Read all entity body count is %d;\n", readRowEnt.count());
         for (ENTITY *entC = readRowEnt.first(); entC != 0; entC = readRowEnt.next())
         {
             if (is_BODY(entC)) ent.add(entC);
             printf("current body is %s;", (is_closed_solid_body(entC)?"true":"face"));//判断是否闭合?
+            //--------
+            msg_str.clear();
+            msg_str.append("current body is ");
+            msg_str.append((is_closed_solid_body(entC)?"true":"face"));
+            msg_str.append(";");
+            sm->sendClient->sendMsg(object->ToJson("log",msg_str));
         }
         printf("\n Body's count is %d;", ent.count());
-
+        //--
+        msg_str.clear();
+        msg_str.append("Body's count is ");
+        msg_str.append(to_string(ent.count()));
+        msg_str.append(";");
+        sm->sendClient->sendMsg(object->ToJson("log",msg_str));
         //--获取边的信息
         ENTITY_LIST EdgeEnt = geo->GetEdges();
         const char *name = "entity_index";
@@ -290,12 +317,24 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
                 ATTRIB_GEN_INTEGER* pId = NULL;
                 outcome result = api_find_named_attribute(EdgeEnt[kk], name, reinterpret_cast<ATTRIB_GEN_NAME*&>(pId));
                 printf("find result : %d\n", result.ok());
+                //--
+                msg_str.clear();
+                msg_str.append("find result : ");
+                msg_str.append(to_string(result.ok()));
+                msg_str.append(";");
+                sm->sendClient->sendMsg(object->ToJson("log",msg_str));
                 if (pId && (result.ok() == TRUE))
                 {
                     /*	const char*name = pId->value();
                     printf("find pId name : %s\n", name);*/
                     int names = pId->value();
                     printf("find EdgeEnt pId name : %d\n", names);
+                    //--
+                    msg_str.clear();
+                    msg_str.append("find EdgeEnt pId name : ");
+                    msg_str.append(to_string(names));
+                    msg_str.append(";");
+                    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
                 }
             }
         }
@@ -310,12 +349,24 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
                 ATTRIB_GEN_INTEGER* pId = NULL;
                 outcome result = api_find_named_attribute(FaceEnt[kk] , name, reinterpret_cast<ATTRIB_GEN_NAME*&>(pId));
                 printf("find result : %d\n", result.ok());
+                //--
+                msg_str.clear();
+                msg_str.append("find result : ");
+                msg_str.append(to_string(result.ok()));
+                msg_str.append(";");
+                sm->sendClient->sendMsg(object->ToJson("log",msg_str));
                 if (pId && (result.ok() == TRUE))
                 {
                     /*	const char*name = pId->value();
                     printf("find pId name : %s\n", name);*/
                     int names = pId->value();
                     printf("find FaceEnt pId name : %d\n", names);
+                    //--
+                    msg_str.clear();
+                    msg_str.append("find FaceEnt pId name : ");
+                    msg_str.append(to_string(names));
+                    msg_str.append(";");
+                    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
                 }
             }
         }
@@ -323,7 +374,12 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
         ENTITY_LIST testEnt=ent;
         exit_on_bad_outcome(api_n_body_unite(testEnt, false));
         printf("Whole_ents after unite is : %d,then use stitch function\n", testEnt.count());
-
+        //--
+        msg_str.clear();
+        msg_str.append("Whole_ents after unite is : ");
+        msg_str.append(to_string(testEnt.count()));
+        msg_str.append(",then use stitch function");
+        sm->sendClient->sendMsg(object->ToJson("log",msg_str));
         if (testEnt.count()==1)
         {
             //exit_on_bad_outcome(api_n_body_unite(ent, false));
@@ -335,6 +391,12 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
             //// Attach cellular topology to non-regular union (necessary for the Spa3dpm::Cell_VolumeElem_Assoc class below to function correctly).
             exit_on_bad_outcome(api_ct_attach(testEnt));
             printf("Whole_ents after attach is : %d\n", testEnt.count());
+            //--
+            msg_str.clear();
+            msg_str.append("Whole_ents after attach is : ");
+            msg_str.append(to_string(testEnt.count()));
+            msg_str.append(";");
+            sm->sendClient->sendMsg(object->ToJson("log",msg_str));
             /*for (int kk = 0; kk < ent.count(); kk++)
             {
                 printf("kk%d is %d; ", kk, is_BODY(ent[kk]));
@@ -347,6 +409,12 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
             GeometryStitch *geomStitch = new GeometryStitch;
             geomStitch->aei_STITCH_FULL(ent, Whole_ents);
             printf("geomStitch count is %d;\n ", Whole_ents.count());
+            //--
+            msg_str.clear();
+            msg_str.append("geomStitch count is ");
+            msg_str.append(to_string(Whole_ents.count()));
+            msg_str.append(";");
+            sm->sendClient->sendMsg(object->ToJson("log",msg_str));
         }
         //--
 
@@ -361,6 +429,12 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
     }
     printf("Load Geometry OK!"); //
     printf("Whole_ents is : %d\n", Whole_ents.count());
+    //--
+    msg_str.clear();
+    msg_str.append("Load Geometry OK!Whole_ents is : ");
+    msg_str.append(to_string(Whole_ents.count()));
+    msg_str.append(";");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
 
     ENTITY_LIST ents;
     ents = Whole_ents;
@@ -369,45 +443,92 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
     ENTITY_LIST face_list;
     api_get_faces(Whole_ents[0], face_list);
     printf("face count : %d\n", face_list.count());
-
+    //--
+    msg_str.clear();
+    msg_str.append("face count : ");
+    msg_str.append(to_string(face_list.count()));
+    msg_str.append(";");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
 
     ENTITY_LIST edge_list;
     api_get_edges(Whole_ents[0], edge_list);
     printf("edge count is : %d\n", edge_list.count());
-
+    //--
+    msg_str.clear();
+    msg_str.append("edge count is: ");
+    msg_str.append(to_string(edge_list.count()));
+    msg_str.append(";");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
     //api_ct_get_all_cells(face_list[0], cells);
 
     api_ct_get_all_cells(ents, cells);
     printf("Cells Count: %d\n", cells.count());
-
+    //--
+    msg_str.clear();
+    msg_str.append("Cells count is: ");
+    msg_str.append(to_string(cells.count()));
+    msg_str.append(";");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
 
     //const char*cpName = ((ATTRIB_GEN_STRING *)tNAME)->value();
     //--test end
 
     //2.--read cad surf parameter
+    //--
+    msg_str.clear();
+    msg_str.append("2.--read cad surf parameter");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
     QString dDir=QDir::currentPath();
     printf("path:%s\n",dDir.toLatin1().data());
+    //--
+    msg_str.clear();
+    msg_str.append("path:");
+    msg_str.append(dDir.toLatin1().data());
+    msg_str.append(";");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
     ADIParam_.useDefaultParam();
     CRWriteFile* crw = new CRWriteFile();
 
     //if (!crw->ReadXmlParamFile(ADIParam_, pathParam.c_str()))
-        //return false;
+    //return false;
 
     if (!crw->ReadXmlParam(ADIParam_,object))//0831append
         return false;
 
     //3.--create surf.0
+    //--
+    msg_str.clear();
+    msg_str.append("3.--create surf.0");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
     Createcadsurf(ents, cadsurf_);
     //4.--Set parameters and create mesh
+    //--
+    msg_str.clear();
+    msg_str.append("4.--Set parameters and create mesh");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
     cadsurfParams_ = setADIParamTo3dpm(ADIParam_);
     //-4.1-size map for vol
+    //--
+    msg_str.clear();
+    msg_str.append("4.1-size map for vol");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
     CreateLocalSizeMap();
 
     //5.--output surfmesh with cleaner or not
+    //--
+    msg_str.clear();
+    msg_str.append("5.--output surfmesh with cleaner or not");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
     if(!OutPutSurfMesh(cadsurf_, surfMesh_, &cadsurfParams_))return 1;
 
     //-5.1-for vol
     printf("style=%d\n", ADIParam_.style);
+    //--
+    msg_str.clear();
+    msg_str.append("style=");
+    msg_str.append(to_string(ADIParam_.style));
+    msg_str.append(";");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
     if(ADIParam_.style)
     {
         createVol(ADIParam_.style, cells);
@@ -415,6 +536,10 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
 
 
     //6. Save the surface mesh to .mesh (optional)
+    //--
+    msg_str.clear();
+    msg_str.append("6. Save the surface mesh to .mesh (optional)");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
     QString appPath = dDir+"\\Data\\";//qy 2023-03-24修改路径
     QDateTime data = QDateTime::currentDateTime();
     QString strName;
@@ -440,8 +565,15 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
 
     exit_on_bad_outcome(api_3dpm_save_mesh(surfMesh_, "3dpmSample_surfMesh.mesh"));
     printf("Successfully wrote SurfMesh to .mesh format\n");
-
+    //--
+    msg_str.clear();
+    msg_str.append("Successfully wrote SurfMesh to .mesh format");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
     //-6.1Deletesome Clean up MeshGems Sizemaps
+    //--
+    msg_str.clear();
+    msg_str.append("6.1Deletesome Clean up MeshGems Sizemaps");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
     if (szmp_iso_face_t_)
         meshgems_sizemap_delete(szmp_iso_face_t_);
     if (szmp_iso_edge_t_)
@@ -449,6 +581,10 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
     if (szmp_iso_point_t_)
         meshgems_sizemap_delete(szmp_iso_point_t_);
     //7. Termination
+    //--
+    msg_str.clear();
+    msg_str.append("7. Termination");
+    sm->sendClient->sendMsg(object->ToJson("log",msg_str));
     closeACIS();
     if(crw!=NULL)
     {
@@ -472,6 +608,8 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
 #endif
     return 1;
 }
+
+
 /**
 * @brief set ADIParam To Spa3dpm::Parameters
   For this sample we look at each API outcome and exit when something fails.

+ 4 - 1
CAE_Solution/src/acis/cmdmainprocess.h

@@ -37,6 +37,7 @@
 
 #include "rwritefile.h"
 #include <iostream>
+#include "../threadPool_and_statemachine/stateMachine/statemachine.h"
 using namespace std;
 
 class cmdMainProcess
@@ -47,6 +48,7 @@ public:
 public:
     bool CreateProcess_(string pathGeo);
     bool CreateProcess_(string pathGeo, string pathParam);
+    void setJsonObject(boostJsonObject* object);
 private:
     //adi
     DPM_ADIParam ADIParam_;
@@ -63,6 +65,7 @@ private:
     DPMvolClass *SampleUtils_;
 
     boostJsonObject *object;//0831 append
+    stateMachine *sm;
 private:
     Spa3dpm::Parameters setADIParamTo3dpm(const DPM_ADIParam &p);
     bool Createcadsurf(const ENTITY_LIST &inEnts, Spa3dpm::CadSurfSession &surf);
@@ -77,7 +80,7 @@ private:
     void closeACIS();
     //some
     //static meshgems_status_t size_iso_edge(meshgems_integer edge_id, meshgems_real t, meshgems_real *size, void *user_data);
-    void setJsonObject(boostJsonObject* object);
+
 };
 
 #endif // CMDMAINPROCESS_H

+ 0 - 77
CAE_Solution/src/main.cpp

@@ -56,83 +56,6 @@ int main(int argc, char *argv[])
 
     QObject::connect(handle,SIGNAL(sendImg_handlePoolToSendstate(std::string)),sendstate,SLOT(getImg_handlePoolToSendstate(std::string)));
     QObject::connect(recvstate,SIGNAL(sendmsg_recvstateTohandlePool(std::string)),handle,SLOT(getmsg_recvstateTohandlePool(std::string)));
-    /*******************************************************************************/
-            /*QVTKRenderer* render_ = new QVTKRenderer();
-            render_->init();
 
-            QString m_filePath="F:\\czm\\vtkfile\\tfg.ugrid";
-
-            MeshManager *meshmanager = new MeshManager();
-
-            bool f = meshmanager->LoadData(m_filePath);
-
-            cout<<"f:"<<f<<endl;
-            if(f){
-                if(render_){
-                    meshmanager->DisplayMesh(render_);
-                    render_->ZoomToExtents();
-                }
-            }
-            w.addTab(render_->GetWidget(),"test");
-            w.SetMeshManager(meshmanager);
-            w.SetQVTKRenderer(render_);*/
-    /************************************************************************************/
-    /*QVTKRenderer* render_ = new QVTKRenderer();
-    render_->init();
-    QString filePath = "C:\\Users\\Administrator\\Desktop\\Postprocess_Binary\\";
-    QDir dir("C:\\Users\\Administrator\\Desktop\\Postprocess_Binary");
-    dir.setFilter(QDir::Files);
-    QStringList list = dir.entryList(QDir::Files);
-    QStringList string_list;
-    foreach (QFileInfo file, list) {
-        if(file.fileName().split(".").back() == "plt"){
-            string_list.append(file.fileName());
-        }
-    }
-
-    ResultMeshManager* meshmanager =new ResultMeshManager();
-    //for(int i =0;i<string_list.size();i++){
-    for(int i =0;i<4;i++){
-        meshmanager->LoadData(filePath+string_list[i]);
-        meshmanager->SetSaveIndex(i);
-        meshmanager->DisplayMesh(render_);
-    }
-
-
-    meshmanager->HideAllActors();
-    meshmanager->ShowAll();
-    double t =0.001;
-    meshmanager->SetLevel(10);
-    meshmanager->SetRange(&t);
-    meshmanager->ModifyScalarDisplay("r");
-    meshmanager->SetDisplayType(2); //0----contour 2----line 3----vector
-
-
-    meshmanager->DisplayMeshByIndex(0);
-    meshmanager->SetNameTypeMap();
-    w.addTab(render_->GetWidget(),"test");*/
-    ///////////////////////////////////////////////////////////////////////////////////
-    ///加载tecplot
-//          QVTKRenderer* render_ = new QVTKRenderer();
-//         render_->init();
-//        handlePool* hand = new handlePool();
-//        QString filePath = "C:\\Users\\Administrator\\Desktop\\Postprocess_Binary\\";
-//        QStringList fileName_list = hand->getFileNameList(filePath);
-//        ResultMeshManager *rsMeshManager = new ResultMeshManager();
-//        w.addTab(render_->GetWidget(),"test");
-
-//        for(int i =0;i<fileName_list.size();i++){
-//            bool f =rsMeshManager->LoadData(filePath+fileName_list[i]);
-//            if(f){
-//                rsMeshManager->SetSaveIndex(i);
-//                if(render_){
-//                    rsMeshManager->DisplayMesh(render_);
-//                }
-//            }
-//        }
-//        rsMeshManager->ShowAll();
-//        rsMeshManager->DisplayMeshByIndex(0);
-//        rsMeshManager->SetNameTypeMap();
-//        render_->ZoomToExtents();
     return a.exec();
 }

+ 22 - 0
CAE_Solution/src/threadPool_and_statemachine/dealWith/boostjsonobject.cpp

@@ -239,6 +239,8 @@ std::string boostJsonObject::ToJson(std::string type, QMap<QString, std::string>
         item.put("zonename",map_["zonename"]);
     }else if(type == "exception"){
         item.put("Error",map_["Error"]);
+    }else if(type == "log"){
+        item.put("Log",map_["Log"]);
     }
     stringstream tmp;
     boost::property_tree::json_parser::write_json(tmp,item);
@@ -612,4 +614,24 @@ string boostJsonObject::ToJson(string type, QMap<QString, string> map_, int num)
     return mmsg.str();
 }
 
+/*
+ * @brief: build log msg in json type
+ * @param:[in]type,[in]info
+ * @ret: [out]log msg
+ * @birth: created by czm in 20230922
+ */
+string boostJsonObject::ToJson(string type, string info)
+{
+    boost::property_tree::ptree root;
+    root.put("usrId",this->usrId);
+    root.put("solverConfigid",this->solverConfigid);
+    root.put("proId",this->proId);
+    root.put("action",this->action);
+    root.put(type,info);
+    root.put("paramJson","");
+    stringstream mmsg;
+    boost::property_tree::json_parser::write_json (mmsg,root);
+    return mmsg.str();
+}
+
 

+ 1 - 0
CAE_Solution/src/threadPool_and_statemachine/dealWith/boostjsonobject.h

@@ -25,6 +25,7 @@ public:
     void FromParamJson(std::string);
     std::string ToJson_updateslice(QMap<int,SliceDisplayWidget*>);
     std::string ToJson(std::string type, QMap<QString, std::string> map_,int num);
+    std::string ToJson(std::string ,std::string);
 public:
     std::string usrId;
     std::string solverConfigid;

+ 1 - 0
CAE_Solution/src/threadPool_and_statemachine/dealWith/display_struct.h

@@ -239,4 +239,5 @@ public:                               //父类中为char*类型,把string转换
     virtual ~myException() throw(){}
 };
 
+
 #endif // DISPLAY_STRUCT_H

+ 25 - 6
CAE_Solution/src/threadPool_and_statemachine/dealWith/handlepool.cpp

@@ -8,6 +8,7 @@
 #include <vtkSphereSource.h>
 #include <vtkPolyDataMapper.h>
 #include <vtkActor.h>
+#include "../../acis/cmdmainprocess.h"
 
 
 /*
@@ -70,13 +71,13 @@ void handlePool::getmsg_recvstateTohandlePool(std::string recvmsg)
     try{//处理异常
         json_object->FromJson(recvmsg);
     }catch(myException &ex){
-        emit sendImg_handlePoolToSendstate(json_object->ToJson("exception",buildError_msg(ex.what())));
+        emit sendImg_handlePoolToSendstate(json_object->ToJson("exception",buildError_msg("Error",ex.what())));
         return;
     }
     try{
         operateRender(json_object,render_);//解析命令
     }catch(myException &ex){
-        emit sendImg_handlePoolToSendstate(json_object->ToJson("exception",buildError_msg(ex.what())));
+        emit sendImg_handlePoolToSendstate(json_object->ToJson("exception",buildError_msg("Error",ex.what())));
         return;
     }
 }
@@ -300,7 +301,7 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
         }else if(tmp[1]=="plt"){
             type_ = "one_plt_binary_file";
         }else{
-            emit sendImg_handlePoolToSendstate(object_->ToJson("exception",buildError_msg("please open vtk file")));
+            emit sendImg_handlePoolToSendstate(object_->ToJson("exception",buildError_msg("Error","please open vtk file")));
             type_ = "";
             return false;
         }
@@ -308,7 +309,7 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
         vector<string> tmp = stringSplit(object_->fileName,',');
         vector<string> tmp_file_name=stringSplit(tmp[0],'.');
         if(tmp_file_name[1]=="vtk"){
-            emit sendImg_handlePoolToSendstate(object_->ToJson("exception",buildError_msg("please open one vtk file")));
+            emit sendImg_handlePoolToSendstate(object_->ToJson("exception",buildError_msg("Error","please open one vtk file")));
             type_ = "";
             return false;
         }else if(tmp_file_name[1]=="dat"){
@@ -776,6 +777,9 @@ bool handlePool::result_readIgsFile(boostJsonObject *object_, QVTKRenderer *rend
     }
 
     cmdMainProcess* cmdp = new cmdMainProcess();
+    //cmdp->SetHandlePool(this);
+    cmdp->setJsonObject(object_);
+
     try{
     if(cmdp->CreateProcess_(object_->da_struct->geoPath,"")){//unuse xmlpath
         return true;
@@ -1022,10 +1026,14 @@ QMap<QString, string> handlePool::buildResultImport_msg(QString type, ResultMana
  * @ret: map
  * @birth: created by czm in 20230517
  */
-QMap<QString, string> handlePool::buildError_msg(string msg)
+QMap<QString, string> handlePool::buildError_msg(string type,string msg)
 {
     QMap<QString,string> map;
-    map.insert("Error",msg);
+    if(type == "Error"){
+        map.insert("Error",msg);
+    }else if(type == "log"){
+        map.insert("Log",msg);
+    }
     return map;
 }
 
@@ -1423,6 +1431,17 @@ void handlePool::set_hidezone_animation(vector<string> &hidezonename, ResultMana
     cmanager->SetShowHideState(vec_bool);
 }
 
+/*
+ * @brief: send log to sendclient
+ * @param: [in]log msg
+ * @ret: void
+ * @birth: created by czm in 20230921
+ */
+void handlePool::printLog(string str,boostJsonObject* object)
+{
+    emit sendImg_handlePoolToSendstate(object->ToJson("log",buildError_msg("Log",str)));
+}
+
 ///*
 // * @brief: test memory status(只能Windows下)
 // * @param: void

+ 3 - 2
CAE_Solution/src/threadPool_and_statemachine/dealWith/handlepool.h

@@ -39,7 +39,7 @@
 #include "boostjsonobject.h"
 #include "map_manager.h"
 
-#include "../../acis/cmdmainprocess.h"
+
 
 using namespace std;
 
@@ -80,7 +80,7 @@ public:
 
     QMap<QString,string> buildResultImport_msg(QString,ResultManager*);
     QMap<QString,string> buildResultImport_msg(QString,ResultManager*,boostJsonObject*);
-    QMap<QString,string> buildError_msg(string);
+    QMap<QString,string> buildError_msg(string,string);
     void send_picture(boostJsonObject*,QVTKRenderer*);
     void send_picture(boostJsonObject*,QVTKRenderer*,int);
     string removeSpaces(string);
@@ -96,6 +96,7 @@ public:
     void animation_render(string,int,QVTKRenderer*,boostJsonObject*);
     void set_hidezone_animation(vector<string>&,ResultManager*,set<string>);
     void test_memory();
+    void printLog(string,boostJsonObject*);
 
 private:
     QMap<string,QVTKRenderer*> qmapRender;