Using optional sampler outside loop
							parent
							
								
									537155dd05
								
							
						
					
					
						commit
						5556db5420
					
				|  | @ -37,6 +37,7 @@ | ||||||
| #include <boost/assign/list_inserter.hpp> | #include <boost/assign/list_inserter.hpp> | ||||||
| #include <boost/filesystem/operations.hpp> | #include <boost/filesystem/operations.hpp> | ||||||
| #include <boost/filesystem/path.hpp> | #include <boost/filesystem/path.hpp> | ||||||
|  | #include <boost/optional.hpp> | ||||||
| 
 | 
 | ||||||
| #include <cmath> | #include <cmath> | ||||||
| #include <fstream> | #include <fstream> | ||||||
|  | @ -546,6 +547,11 @@ BetweenFactorPose3s parse3DFactors(const string& filename, | ||||||
|   ifstream is(filename.c_str()); |   ifstream is(filename.c_str()); | ||||||
|   if (!is) throw invalid_argument("parse3DFactors: can not find file " + filename); |   if (!is) throw invalid_argument("parse3DFactors: can not find file " + filename); | ||||||
| 
 | 
 | ||||||
|  |   boost::optional<Sampler> sampler; | ||||||
|  |   if (corruptingNoise) { | ||||||
|  |     sampler = Sampler(corruptingNoise); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   std::vector<BetweenFactor<Pose3>::shared_ptr> factors; |   std::vector<BetweenFactor<Pose3>::shared_ptr> factors; | ||||||
|   while (!is.eof()) { |   while (!is.eof()) { | ||||||
|     char buf[LINESIZE]; |     char buf[LINESIZE]; | ||||||
|  | @ -587,9 +593,8 @@ BetweenFactorPose3s parse3DFactors(const string& filename, | ||||||
| 
 | 
 | ||||||
|       SharedNoiseModel model = noiseModel::Gaussian::Information(mgtsam); |       SharedNoiseModel model = noiseModel::Gaussian::Information(mgtsam); | ||||||
|       auto R12 = Rot3::Quaternion(qw, qx, qy, qz); |       auto R12 = Rot3::Quaternion(qw, qx, qy, qz); | ||||||
|       if (corruptingNoise) { |       if (sampler) { | ||||||
|         Sampler sampler(corruptingNoise); |         R12 = R12.retract(sampler->sample()); | ||||||
|         R12 = R12.retract(sampler.sample()); |  | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       factors.emplace_back(new BetweenFactor<Pose3>( |       factors.emplace_back(new BetweenFactor<Pose3>( | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue