GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
DummyFactor.h
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include <gtsam_unstable/dllexport.h>
14 
15 namespace gtsam {
16 
17 class GTSAM_UNSTABLE_EXPORT DummyFactor : public NonlinearFactor {
18 protected:
19 
20  // Store the dimensions of the variables and the dimension of the full system
21  std::vector<size_t> dims_;
22  size_t rowDim_;
23 
24 public:
25 
27  DummyFactor() : rowDim_(1) { }
28 
30  DummyFactor(const Key& key1, size_t dim1, const Key& key2, size_t dim2);
31 
32  ~DummyFactor() override {}
33 
34  // testable
35 
37  void print(const std::string& s = "", const KeyFormatter& keyFormatter = DefaultKeyFormatter) const override;
38 
40  bool equals(const NonlinearFactor& f, double tol = 1e-9) const override;
41 
42  // access
43 
44  const std::vector<size_t>& dims() const { return dims_; }
45 
46  // factor interface
47 
51  double error(const Values& c) const override { return 0.0; }
52 
54  size_t dim() const override { return rowDim_; }
55 
57  std::shared_ptr<GaussianFactor> linearize(const Values& c) const override;
58 
65  NonlinearFactor::shared_ptr clone() const override {
66  return std::static_pointer_cast<NonlinearFactor>(
67  NonlinearFactor::shared_ptr(new DummyFactor(*this)));
68  }
69 
70 };
71 
72 } // \namespace gtsam
73 
74 
75 
76 
double error(const Values &c) const override
Definition: DummyFactor.h:51
Definition: NonlinearFactor.h:68
DummyFactor()
Definition: DummyFactor.h:27
NonlinearFactor::shared_ptr clone() const override
Definition: DummyFactor.h:65
Definition: DummyFactor.h:17
Definition: Testable.h:112
GTSAM_EXPORT void print(const Matrix &A, const std::string &s, std::ostream &stream)
size_t rowDim_
choose dimension for the rows
Definition: DummyFactor.h:22
Definition: Values.h:65
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
Definition: chartTesting.h:28
Non-linear factor base classes.
size_t dim() const override
Definition: DummyFactor.h:54
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:102