use goto flow
							parent
							
								
									9d15afaab1
								
							
						
					
					
						commit
						3e6efe3a51
					
				|  | @ -26,7 +26,6 @@ namespace gtsam { | |||
| SharedNoiseModel | ||||
| ConvertNoiseModel(const SharedNoiseModel &model, size_t d, bool defaultToUnit) { | ||||
|   double sigma = 1.0; | ||||
|   bool exit = false; | ||||
| 
 | ||||
|   if (model != nullptr) { | ||||
|     const auto &robust = boost::dynamic_pointer_cast<noiseModel::Robust>(model); | ||||
|  | @ -40,7 +39,7 @@ ConvertNoiseModel(const SharedNoiseModel &model, size_t d, bool defaultToUnit) { | |||
|     size_t n = sigmas.size(); | ||||
|     if (n == 1) { | ||||
|       sigma = sigmas(0); // Rot2
 | ||||
|       exit = true; | ||||
|       goto exit; | ||||
|     } | ||||
|     else if (n == 3 || n == 6) { | ||||
|       sigma = sigmas(2); // Pose2, Rot3, or Pose3
 | ||||
|  | @ -49,13 +48,13 @@ ConvertNoiseModel(const SharedNoiseModel &model, size_t d, bool defaultToUnit) { | |||
|           throw std::runtime_error("Can only convert isotropic rotation noise"); | ||||
|         } | ||||
|       } | ||||
|       exit = true; | ||||
|       goto exit; | ||||
|     } | ||||
|     if (!defaultToUnit && !exit) { | ||||
|     if (!defaultToUnit) { | ||||
|       throw std::runtime_error("Can only convert Pose2/Pose3 noise models"); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   exit: | ||||
|   auto isoModel = noiseModel::Isotropic::Sigma(d, sigma); | ||||
|   const auto &robust = boost::dynamic_pointer_cast<noiseModel::Robust>(model); | ||||
|   if (robust) { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue