1/* ----------------------------------------------------------------------------
2
3 * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4 * Atlanta, Georgia 30332-0415
5 * All Rights Reserved
6 * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7
8 * See LICENSE for the license information
9
10 * -------------------------------------------------------------------------- */
11
12/**
13 * @file InfeasibleInitialValues.h
14 * @brief Exception thrown when given Infeasible Initial Values.
15 * @date jan 24, 2015
16 * @author Duy-Nguyen Ta
17 */
18
19#pragma once
20
21namespace gtsam {
22/* ************************************************************************* */
23/** An exception indicating that the provided initial value is infeasible
24 * Also used to inzdicatethat the noise model dimension passed into a
25 * JacobianFactor has a different dimensionality than the factor. */
26class InfeasibleInitialValues: public ThreadsafeException<
27 InfeasibleInitialValues> {
28public:
29 InfeasibleInitialValues() {
30 }
31
32 ~InfeasibleInitialValues() noexcept override {
33 }
34
35 const char *what() const noexcept override {
36 if (description_->empty())
37 description_ =
38 "An infeasible initial value was provided for the solver.\n";
39 return description_->c_str();
40 }
41};
42}
43