#include <Value.h>
Public Member Functions | |
template<typename ValueType > | |
const ValueType & | cast () const |
virtual boost::shared_ptr< Value > | clone () const =0 |
virtual Value * | clone_ () const =0 |
virtual void | deallocate_ () const =0 |
virtual size_t | dim () const =0 |
virtual bool | equals_ (const Value &other, double tol=1e-9) const =0 |
virtual Vector | localCoordinates_ (const Value &value) const =0 |
virtual Value & | operator= (const Value &) |
virtual void | print (const std::string &str="") const =0 |
virtual Value * | retract_ (const Vector &delta) const =0 |
virtual | ~Value () |
Private Member Functions | |
template<class ARCHIVE > | |
void | serialize (ARCHIVE &, const unsigned int) |
Friends | |
class | boost::serialization::access |
This is the base class for any type to be stored in Values. Note: As of GTSAM 4.0, Value types should no longer derive from Value or DerivedValue. Use type traits instead. See https://bitbucket.org/gtborg/gtsam/wiki/Migrating%20from%20GTSAM%203.X%20to%20GTSAM%204.0#markdown-header-custom-value-types for current usage and migration details.
|
inlinevirtual |
const ValueType & gtsam::Value::cast | ( | ) | const |
Cast to known ValueType
Definition at line 205 of file GenericValue.h.
|
pure virtual |
Clone this value (normal clone on the heap, delete with 'delete' operator)
Implemented in gtsam::GenericValue< T >.
|
pure virtual |
Clone this value in a special memory pool, must be deleted with Value::deallocate_, not with the 'delete' operator.
Implemented in gtsam::GenericValue< T >.
|
pure virtual |
Deallocate a raw pointer of this value
Implemented in gtsam::GenericValue< T >.
|
pure virtual |
Return the dimensionality of the tangent space of this value. This is the dimensionality of delta
passed into retract() and of the vector returned by localCoordinates().
Implemented in gtsam::GenericValue< T >.
|
pure virtual |
Compare this Value with another for equality.
Implemented in gtsam::GenericValue< T >.
Compute the coordinates in the tangent space of this value that retract() would map to value
.
value | The value whose coordinates should be determined in the tangent space of the value on which this function is called. |
value
in the tangent space of this
. Implemented in gtsam::GenericValue< T >.
Assignment operator
Reimplemented in gtsam::GenericValue< T >.
|
pure virtual |
Print this value, for debugging and unit tests
Implemented in gtsam::GenericValue< T >.
Increment the value, by mapping from the vector delta in the tangent space of the current value back to the manifold to produce a new, incremented value.
delta | The delta vector in the tangent space of this value, by which to increment this value. |
Implemented in gtsam::GenericValue< T >.
|
inlineprivate |
|
friend |
Empty serialization function.
There are two important things that users need to do to serialize derived objects in Values successfully: (Those derived objects are stored in Values as pointer to this abstract base class Value)
1. All DERIVED classes derived from Value must put the following line in their serialization function:
or, alternatively
See: http://www.boost.org/doc/libs/release/libs/serialization/doc/serialization.html#runtimecasting