GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
List of all members
gtsam::HybridValues Class Reference

#include <HybridValues.h>

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 VectorValuescontinuous () const
 Return the multi-dimensional vector values.
 
const DiscreteValuesdiscrete () const
 Return the discrete values.
 
const Valuesnonlinear () 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)
 
void insert (Key j, size_t value)
 
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
 
HybridValuesinsert (const VectorValues &values)
 
HybridValuesinsert (const DiscreteValues &values)
 
HybridValuesinsert (const Values &values)
 
HybridValuesinsert (const HybridValues &values)
 
Vector & at (Key j)
 
size_t & atDiscrete (Key j)
 
HybridValuesupdate (const VectorValues &values)
 
HybridValuesupdate (const DiscreteValues &values)
 
HybridValuesupdate (const HybridValues &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. More...
 

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.

Member Function Documentation

◆ at()

Vector& gtsam::HybridValues::at ( Key  j)
inline

Read/write access to the vector value with key j, throws std::out_of_range if j does not exist.

◆ atDiscrete()

size_t& gtsam::HybridValues::atDiscrete ( Key  j)
inline

Read/write access to the discrete value with key j, throws std::out_of_range if j does not exist.

◆ html()

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

Output as a html table.

Parameters
keyFormatterfunction that formats keys.
Returns
string html output.

◆ insert() [1/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
valueThe vector to be inserted.
jThe index with which the value will be associated.

◆ insert() [2/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
valueThe vector to be inserted.
jThe index with which the value will be associated.

◆ insert() [3/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() [4/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() [5/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() [6/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.

◆ update() [1/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.

◆ update() [2/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() [3/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.


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