Loading...
Searching...
No Matches
gtsam::HybridValues Class Reference

## Detailed Description

HybridValues represents a collection of DiscreteValues and VectorValues.

It is typically used to store the variables of a HybridGaussianFactorGraph. Optimizing a HybridGaussianBayesNet returns this class.

## Public Member Functions

Standard Constructors
| HybridValues ()=default
| Default constructor creates an empty HybridValues.
| HybridValues (const VectorValues &cv, const DiscreteValues &dv)
| Construct from DiscreteValues and VectorValues.
| HybridValues (const VectorValues &cv, const DiscreteValues &dv, const Values &v)
| Construct from all values types.
Testable
void | print (const std::string &s="HybridValues", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const
| print required by Testable for unit testing
bool | equals (const HybridValues &other, double tol=1e-9) const
| equals required by Testable for unit testing
Interface
const VectorValues & | continuous () const
| Return the multi-dimensional vector values.
const DiscreteValues & | discrete () const
| Return the discrete values.
const Values & | nonlinear () const
| Return the nonlinear values.
bool | existsVector (Key j)
| Check whether a variable with key `j` exists in VectorValues.
bool | existsDiscrete (Key j)
| Check whether a variable with key `j` exists in DiscreteValues.
bool | existsNonlinear (Key j)
| Check whether a variable with key `j` exists in values.
bool | exists (Key j)
| Check whether a variable with key `j` exists.
void | insert (Key j, const Vector &value)
| Insert a vector `value` with key `j`.
void | insert (Key j, size_t value)
| Insert a discrete `value` with key `j`.
void | insert_or_assign (Key j, const Vector &value)
| insert_or_assign() , similar to Values.h
void | insert_or_assign (Key j, size_t value)
| insert_or_assign() , similar to Values.h
HybridValues & | insert (const VectorValues &values)
| Insert all continuous values from `values`.
HybridValues & | insert (const DiscreteValues &values)
| Insert all discrete values from `values`.
HybridValues & | insert (const Values &values)
| Insert all values from `values`.
HybridValues & | insert (const HybridValues &values)
| Insert all values from `values`.
Vector & | at (Key j)
| Read/write access to the vector value with key `j`, throws std::out_of_range if `j` does not exist.
size_t & | atDiscrete (Key j)
| Read/write access to the discrete value with key `j`, throws std::out_of_range if `j` does not exist.
HybridValues & | update (const VectorValues &values)
| For all key/value pairs in `values`, replace continuous values with corresponding keys in this object with those in `values`.
HybridValues & | update (const DiscreteValues &values)
| For all key/value pairs in `values`, replace discrete values with corresponding keys in this object with those in `values`.
HybridValues & | update (const HybridValues &values)
| For all key/value pairs in `values`, replace all values with corresponding keys in this object with those in `values`.
VectorValues | continuousSubset (const KeyVector &keys) const
| Extract continuous values with given keys.
Wrapper support
std::string | html (const KeyFormatter &keyFormatter=DefaultKeyFormatter) const
| Output as a html table.

## Member Function Documentation

## html()

std::string gtsam::HybridValues::html | ( | const KeyFormatter & | keyFormatter = DefaultKeyFormatter | ) | const

inline

Output as a html table.

Parameters

  keyFormatter | function that formats keys.

Returns
  string html output.

## insert() [1/6]

HybridValues & gtsam::HybridValues::insert | ( | const DiscreteValues & | values | ) |

inline

Insert all discrete values from `values`.

Throws an invalid_argument exception if any keys to be inserted are already used.

## insert() [2/6]

HybridValues & gtsam::HybridValues::insert | ( | const HybridValues & | values | ) |

inline

Insert all values from `values`.

Throws an invalid_argument exception if any keys to be inserted are already used.

## insert() [3/6]

HybridValues & gtsam::HybridValues::insert | ( | const Values & | values | ) |

inline

Insert all values from `values`.

Throws an invalid_argument exception if any keys to be inserted are already used.

## insert() [4/6]

HybridValues & gtsam::HybridValues::insert | ( | const VectorValues & | values | ) |

inline

Insert all continuous values from `values`.

Throws an invalid_argument exception if any keys to be inserted are already used.

## insert() [5/6]

void gtsam::HybridValues::insert | ( | Key | j,
|  | const Vector & | value )

inline

Insert a vector `value` with key `j`.

Throws an invalid_argument exception if the key `j` is already used.

Parameters

  value | The vector to be inserted.
  j | The index with which the value will be associated.

## insert() [6/6]

void gtsam::HybridValues::insert | ( | Key | j,
|  | size_t | value )

inline

Insert a discrete `value` with key `j`.

Replaces the existing value if the key `j` is already used.

Parameters

  value | The vector to be inserted.
  j | The index with which the value will be associated.

## update() [1/3]

HybridValues & gtsam::HybridValues::update | ( | const DiscreteValues & | values | ) |

inline

For all key/value pairs in `values`, replace discrete values with corresponding keys in this object with those in `values`.

Throws std::out_of_range if any keys in `values` are not present in this object.

## update() [2/3]

HybridValues & gtsam::HybridValues::update | ( | const HybridValues & | values | ) |

inline

For all key/value pairs in `values`, replace all values with corresponding keys in this object with those in `values`.

Throws std::out_of_range if any keys in `values` are not present in this object.

## update() [3/3]

HybridValues & gtsam::HybridValues::update | ( | const VectorValues & | values | ) |

inline

For all key/value pairs in `values`, replace continuous values with corresponding keys in this object with those in `values`.

Throws std::out_of_range if any keys in `values` are not present in this object.

The documentation for this class was generated from the following file:

- /build/gtsam-Xg031d/gtsam-4.2.0+dfsg/gtsam/hybrid/HybridValues.h