12#include <gtsam_unstable/dllexport.h>
21 std::vector<size_t> dims_;
37 void print(
const std::string& s =
"",
const KeyFormatter& keyFormatter = DefaultKeyFormatter)
const override;
40 bool equals(
const NonlinearFactor& f,
double tol = 1e-9)
const override;
44 const std::vector<size_t>& dims()
const {
return dims_; }
54 size_t dim()
const override {
return rowDim_; }
57 boost::shared_ptr<GaussianFactor> linearize(
const Values& c)
const override;
65 NonlinearFactor::shared_ptr
clone()
const override {
66 return boost::static_pointer_cast<NonlinearFactor>(
67 NonlinearFactor::shared_ptr(
new DummyFactor(*
this)));
Non-linear factor base classes.
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition: Matrix.cpp:155
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:69
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition: Key.h:35
Nonlinear factor base class.
Definition: NonlinearFactor.h:43
A non-templated config holding any types of Manifold-group elements.
Definition: Values.h:63
Definition: DummyFactor.h:17
DummyFactor()
Default constructor: don't use directly.
Definition: DummyFactor.h:27
size_t rowDim_
choose dimension for the rows
Definition: DummyFactor.h:22
NonlinearFactor::shared_ptr clone() const override
Creates a shared_ptr clone of the factor - needs to be specialized to allow for subclasses.
Definition: DummyFactor.h:65
size_t dim() const override
get the dimension of the factor (number of rows on linearization)
Definition: DummyFactor.h:54
double error(const Values &c) const override
Calculate the error of the factor - zero for dummy factors.
Definition: DummyFactor.h:51