gtsam 4.1.1
gtsam
ExpressionFactorGraph.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
19#pragma once
20
21#include <gtsam/nonlinear/ExpressionFactor.h>
23
24namespace gtsam {
25
30
31public:
32
35
42 template<typename T>
43 void addExpressionFactor(const Expression<T>& h, const T& z,
44 const SharedNoiseModel& R) {
45 using F = ExpressionFactor<T>;
46 push_back(boost::allocate_shared<F>(Eigen::aligned_allocator<F>(), R, z, h));
47 }
48
50};
51
52}
Factor Graph consisting of non-linear factors.
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
noiseModel::Base::shared_ptr SharedNoiseModel
Note, deliberately not in noiseModel namespace.
Definition: NoiseModel.h:736
IsDerived< DERIVEDFACTOR > push_back(boost::shared_ptr< DERIVEDFACTOR > factor)
Add a factor directly using a shared_ptr.
Definition: FactorGraph.h:165
Factor that supports arbitrary expressions via AD.
Definition: ExpressionFactor.h:44
Expression class that supports automatic differentiation.
Definition: Expression.h:48
Factor graph that supports adding ExpressionFactors directly.
Definition: ExpressionFactorGraph.h:29
void addExpressionFactor(const Expression< T > &h, const T &z, const SharedNoiseModel &R)
Directly add ExpressionFactor that implements |h(x)-z|^2_R.
Definition: ExpressionFactorGraph.h:43
A non-linear factor graph is a graph of non-Gaussian, i.e.
Definition: NonlinearFactorGraph.h:78