Loading...
Searching...
No Matches
linearExceptions.h
Go to the documentation of this file.
/* ----------------------------------------------------------------------------
* GTSAM Copyright 2010, Georgia Tech Research Corporation,
* Atlanta, Georgia 30332-0415
* All Rights Reserved
* Authors: Frank Dellaert, et al. (see THANKS for the full author list)
* See LICENSE for the license information
* -------------------------------------------------------------------------- */
#pragma once
#include <gtsam/base/ThreadsafeException.h>
#include <gtsam/base/types.h>
namespace gtsam {
class GTSAM_EXPORT IndeterminantLinearSystemException : public ThreadsafeException<IndeterminantLinearSystemException> {
Key j_;
public:
IndeterminantLinearSystemException(Key j) noexcept : j_(j) {}
~IndeterminantLinearSystemException() noexcept override {}
Key nearbyVariable() const { return j_; }
const char* what() const noexcept override;
};
/* ************************************************************************* */
class GTSAM_EXPORT InvalidNoiseModel : public ThreadsafeException<InvalidNoiseModel> {
public:
const DenseIndex factorDims;
const DenseIndex noiseModelDims;
InvalidNoiseModel(DenseIndex factorDims, DenseIndex noiseModelDims) :
factorDims(factorDims), noiseModelDims(noiseModelDims) {}
~InvalidNoiseModel() noexcept override {}
const char* what() const noexcept override;
private:
mutable std::string description_;
};
/* ************************************************************************* */
class GTSAM_EXPORT InvalidMatrixBlock : public ThreadsafeException<InvalidMatrixBlock> {
public:
const DenseIndex factorRows;
const DenseIndex blockRows;
InvalidMatrixBlock(DenseIndex factorRows, DenseIndex blockRows) :
factorRows(factorRows), blockRows(blockRows) {}
~InvalidMatrixBlock() noexcept override {}
const char* what() const noexcept override;
private:
mutable std::string description_;
};
/* ************************************************************************* */
class InvalidDenseElimination : public ThreadsafeException<InvalidDenseElimination> {
public:
InvalidDenseElimination(const char *message) : ThreadsafeException<InvalidDenseElimination>(message) {}
};
}
ThreadsafeException.h
Base exception type that uses tbb_allocator if GTSAM is compiled with TBB.
types.h
Typedefs for easier changing of types.
gtsam
Global functions in a separate testing namespace.
Definition chartTesting.h:28
gtsam::DenseIndex
ptrdiff_t DenseIndex
The index type for Eigen objects.
Definition types.h:106
gtsam::Key
std::uint64_t Key
Integer nonlinear key type.
Definition types.h:100
gtsam::ThreadsafeException< IndeterminantLinearSystemException >::ThreadsafeException
ThreadsafeException()
Definition ThreadsafeException.h:59
gtsam::InvalidNoiseModel
An exception indicating that the noise model dimension passed into a JacobianFactor has a different d...
Definition linearExceptions.h:106
gtsam::InvalidNoiseModel::factorDims
const DenseIndex factorDims
The dimensionality of the factor.
Definition linearExceptions.h:108
gtsam::InvalidNoiseModel::noiseModelDims
const DenseIndex noiseModelDims
The dimensionality of the noise model.
Definition linearExceptions.h:109
gtsam::InvalidMatrixBlock
An exception indicating that a matrix block passed into a JacobianFactor has a different dimensionali...
Definition linearExceptions.h:124
gtsam::InvalidMatrixBlock::factorRows
const DenseIndex factorRows
The dimensionality of the factor.
Definition linearExceptions.h:126
gtsam::InvalidMatrixBlock::blockRows
const DenseIndex blockRows
The dimensionality of the noise model.
Definition linearExceptions.h:127