gtsam
Loading...
Searching...
No Matches
linearExceptions.h
Go to the documentation of this file.
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
18#pragma once
19
21#include <gtsam/base/types.h>
22
23namespace gtsam {
24
110 class GTSAM_EXPORT IndeterminateSystemException
111 : public ThreadsafeException<IndeterminateSystemException> {
112 Key j_;
113 public:
114 IndeterminateSystemException(Key j) noexcept : j_(j) {}
115 ~IndeterminateSystemException() noexcept override {}
116 Key nearbyVariable() const { return j_; }
117 const char* what() const noexcept override;
118 };
119
120#ifdef GTSAM_ALLOW_DEPRECATED_SINCE_V43
122 using IndeterminantLinearSystemException = IndeterminateSystemException;
123#endif
124
125 /* ************************************************************************* */
128 class GTSAM_EXPORT InvalidNoiseModel : public ThreadsafeException<InvalidNoiseModel> {
129 public:
132
133 InvalidNoiseModel(DenseIndex factorDims, DenseIndex noiseModelDims) :
135 ~InvalidNoiseModel() noexcept override {}
136
137 const char* what() const noexcept override;
138 };
139
140 /* ************************************************************************* */
143 class GTSAM_EXPORT InvalidMatrixBlock : public ThreadsafeException<InvalidMatrixBlock> {
144 public:
147
148 InvalidMatrixBlock(DenseIndex factorRows, DenseIndex blockRows) :
150 ~InvalidMatrixBlock() noexcept override {}
151
152 const char* what() const noexcept override;
153 };
154
155 /* ************************************************************************* */
156 class InvalidDenseElimination : public ThreadsafeException<InvalidDenseElimination> {
157 public:
158 InvalidDenseElimination(const char *message) : ThreadsafeException<InvalidDenseElimination>(message) {}
159 };
160
161 }
Typedefs for easier changing of types.
Base exception type that uses tbb_allocator if GTSAM is compiled with TBB.
Global functions in a separate testing namespace.
Definition chartTesting.h:28
ptrdiff_t DenseIndex
The index type for Eigen objects.
Definition types.h:49
std::uint64_t Key
Integer nonlinear key type.
Definition types.h:43
ThreadsafeException()
Definition ThreadsafeException.h:61
Thrown when a linear system is ill-posed.
Definition linearExceptions.h:111
An exception indicating that the noise model dimension passed into a JacobianFactor has a different d...
Definition linearExceptions.h:128
const DenseIndex factorDims
The dimensionality of the factor.
Definition linearExceptions.h:130
const DenseIndex noiseModelDims
The dimensionality of the noise model.
Definition linearExceptions.h:131
An exception indicating that a matrix block passed into a JacobianFactor has a different dimensionali...
Definition linearExceptions.h:143
const DenseIndex factorRows
The dimensionality of the factor.
Definition linearExceptions.h:145
const DenseIndex blockRows
The dimensionality of the noise model.
Definition linearExceptions.h:146