check if noisemodel is gaussian, if not throw exception

release/4.3a0
yetongumich 2020-04-05 18:53:00 -04:00
parent 3f8bb10405
commit 99761a1a71
1 changed files with 4 additions and 1 deletions

View File

@ -657,7 +657,10 @@ void Robust::WhitenSystem(Matrix& A1, Matrix& A2, Matrix& A3, Vector& b) const{
Robust::shared_ptr Robust::Create(const RobustModel::shared_ptr& robust,
const noiseModel::Base::shared_ptr noise) {
SharedGaussian gaussian;
gaussian = boost::dynamic_pointer_cast<noiseModel::Gaussian>(noise);
if (!(gaussian = boost::dynamic_pointer_cast<noiseModel::Gaussian>(noise)))
{
throw std::invalid_argument("The noise model inside robust must be Gaussian");
};
return shared_ptr(new Robust(robust, gaussian));
}