浏览代码

1120update

caizm 1 年之前
父节点
当前提交
18a9b1afb7
共有 1 个文件被更改,包括 12 次插入7 次删除
  1. 12 7
      CAE_Solution/src/threadPool_and_statemachine/dealWith/boostjsonobject.cpp

+ 12 - 7
CAE_Solution/src/threadPool_and_statemachine/dealWith/boostjsonobject.cpp

@@ -497,14 +497,19 @@ void boostJsonObject::FromParamJson(string param)
         }
 #endif
         try{
+            //auto item_ = root.get_child_optional("cleanerParam");
             boost::property_tree::ptree cleaner_data = root.get_child("cleanerParam");
-            da_struct->bCleanerSection = true;
-            da_struct->clrParam->folding_angle = cleaner_data.get<std::string>("folding_angle");
-            da_struct->clrParam->min_hole_size = cleaner_data.get<std::string>("min_hole_size");
-            da_struct->clrParam->overlap_distance = cleaner_data.get<std::string>("overlap_distance");
-            da_struct->clrParam->use_default_settings_for = cleaner_data.get<std::string>("use_default_settings_for");
-            da_struct->clrParam->overlap_angle = cleaner_data.get<std::string>("overlap_angle");
-            da_struct->clrParam->resolution_length = cleaner_data.get<std::string>("resolution_length");
+            if(cleaner_data.empty()){
+                da_struct->bCleanerSection = false;
+            }else{
+                da_struct->bCleanerSection = true;
+                da_struct->clrParam->folding_angle = cleaner_data.get<std::string>("folding_angle");
+                da_struct->clrParam->min_hole_size = cleaner_data.get<std::string>("min_hole_size");
+                da_struct->clrParam->overlap_distance = cleaner_data.get<std::string>("overlap_distance");
+                da_struct->clrParam->use_default_settings_for = cleaner_data.get<std::string>("use_default_settings_for");
+                da_struct->clrParam->overlap_angle = cleaner_data.get<std::string>("overlap_angle");
+                da_struct->clrParam->resolution_length = cleaner_data.get<std::string>("resolution_length");
+            }
         }catch(myException &ex){
             std::cout<<"-----no cleanerParam-----"<<std::endl;
             throw myException("cleanerParam miss some parameters!");