21#include <gtsam/config.h>
24#include <boost/serialization/assume_abstract.hpp>
46 virtual boost::shared_ptr<Value>
clone()
const = 0;
49 virtual bool equals_(
const Value& other,
double tol = 1e-9)
const = 0;
52 virtual void print(
const std::string& str =
"")
const = 0;
59 virtual size_t dim()
const = 0;
84 template<
typename ValueType>
85 const ValueType& cast()
const;
121 friend class boost::serialization::access;
122 template<
class ARCHIVE>
123 void serialize(ARCHIVE & ,
const unsigned int ) {
typedef and functions to augment Eigen's VectorXd
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:112
This is the base class for any type to be stored in Values.
Definition: Value.h:36
virtual size_t dim() const =0
Return the dimensionality of the tangent space of this value.
virtual Value * retract_(const Vector &delta) const =0
Increment the value, by mapping from the vector delta in the tangent space of the current value back ...
virtual void deallocate_() const =0
Deallocate a raw pointer of this value.
virtual ~Value()
Virutal destructor.
Definition: Value.h:88
virtual bool equals_(const Value &other, double tol=1e-9) const =0
Compare this Value with another for equality.
virtual Vector localCoordinates_(const Value &value) const =0
Compute the coordinates in the tangent space of this value that retract() would map to value.
virtual Value & operator=(const Value &)
Assignment operator.
Definition: Value.h:78
virtual void print(const std::string &str="") const =0
Print this value, for debugging and unit tests.
virtual Value * clone_() const =0
Clone this value in a special memory pool, must be deleted with Value::deallocate_,...
virtual boost::shared_ptr< Value > clone() const =0
Clone this value (normal clone on the heap, delete with 'delete' operator)