22 #include <boost/serialization/assume_abstract.hpp>
85 virtual Value* clone_()
const = 0;
88 virtual void deallocate_()
const = 0;
91 virtual boost::shared_ptr<Value> clone()
const = 0;
94 virtual bool equals_(
const Value& other,
double tol = 1e-9)
const = 0;
97 virtual void print(
const std::string& str =
"")
const = 0;
104 virtual size_t dim()
const = 0;
112 virtual Value* retract_(
const Vector&
delta)
const = 0;
120 virtual Vector localCoordinates_(
const Value& value)
const = 0;
123 virtual Value& operator=(
const Value& rhs) = 0;
159 friend class boost::serialization::access;
160 template<
class ARCHIVE>
161 void serialize(ARCHIVE & ar,
const unsigned int version) {}
virtual ~Value()
Virutal destructor.
Definition: Value.h:126
typedef and functions to augment Eigen's VectorXd
This is the interface class for any value that may be used as a variable assignment in a factor graph...
Definition: Value.h:81
size_t dim(const Vector &v)
dimensionality == size
Definition: Vector.h:90
void print(const Matrix &A, const string &s, ostream &stream)
print a matrix
Definition: Matrix.cpp:183
Vector delta(size_t n, size_t i, double value)
Create basis vector of dimension n, with a constant in spot i.
Definition: Vector.cpp:53