26 template<
size_t D,
size_t ZDim>
43 Matrix zeroMatrix = Matrix::Zero(0,
D);
44 Vector zeroVector = Vector::Zero(0);
45 std::vector<KeyMatrix> QF;
46 QF.reserve(keys.size());
59 Matrix Q = Matrix::Identity(
m2,
m2) - E * P * E.transpose();
62 std::vector<KeyMatrix> QF;
65 for (
size_t k = 0; k <
FBlocks.size(); ++k) {
78 JacobianFactorQ<D, ZDim> > {
const gtsam::Symbol key('X', 0)
static const int ZDim
Measurement dimension (Point2)
Eigen::Matrix< double, ZDim, D > MatrixZD
noiseModel::Diagonal::shared_ptr model
RegularJacobianFactor< D > Base
JacobianFactorQ()
Default constructor.
JacobianFactorQ(const KeyVector &keys, const std::vector< MatrixZD, Eigen::aligned_allocator< MatrixZD > > &FBlocks, const Matrix &E, const Matrix3 &P, const Vector &b, const SharedDiagonal &model=SharedDiagonal())
Constructor.
STL compatible allocator to use with types requiring a non standrad alignment.
void fillTerms(const TERMS &terms, const Vector &b, const SharedDiagonal &noiseModel)
Internal function to fill blocks and set dimensions.
JacobianFactor class with fixed sized blcoks.
noiseModel::Diagonal::shared_ptr SharedDiagonal
std::pair< Key, Matrix > KeyMatrix
std::vector< MatrixZD, Eigen::aligned_allocator< MatrixZD > > FBlocks
The quaternion class used to represent 3D orientations and rotations.
const KeyVector & keys() const
Access the factor's involved variable keys.
JacobianFactorQ(const KeyVector &keys, const SharedDiagonal &model=SharedDiagonal())
Empty constructor with keys.
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
The matrix class, also used for vectors and row-vectors.
std::uint64_t Key
Integer nonlinear key type.