GTSAM
4.0.2
C++ library for smoothing and mapping (SAM)
|
#include <VariableSlots.h>
Public Types | |
typedef FastMap< Key, FastVector< size_t > > | Base |
Public Member Functions | |
operator std::map< Key, FastVector< size_t > > () const | |
bool | insert2 (const Key &key, const FastVector< size_t > &val) |
bool | exists (const Key &e) const |
Static Public Attributes | |
static GTSAM_EXPORT const size_t | Empty |
Standard Constructors | |
template<class FG > | |
VariableSlots (const FG &factorGraph) | |
Testable | |
GTSAM_EXPORT void | print (const std::string &str="VariableSlots: ") const |
GTSAM_EXPORT bool | equals (const VariableSlots &rhs, double tol=0.0) const |
A combined factor is assembled as one block of rows for each component factor. In each row-block (factor), some of the column-blocks (variables) may be empty since factors involving different sets of variables are interleaved.
VariableSlots describes the 2D block structure of the combined factor. It is a map<Key, vector<size_t> >. The Key is the real variable index of the combined factor slot. The vector<size_t> tells, for each row-block (factor), which column-block (variable slot) from the component factor appears in this block of the combined factor.
As an example, if the combined factor contains variables 1, 3, and 5, then "variableSlots[3][2] == 0" indicates that column-block 1 (corresponding to variable index 3), row-block 2 (also meaning component factor 2), comes from column-block 0 of component factor 2.
gtsam::VariableSlots::VariableSlots | ( | const FG & | factorGraph | ) |
Constructor from a set of factors to be combined. Sorts the variables and keeps track of which variable from each factor ends up in each slot of the combined factor, as described in the class comment.
GTSAM_EXPORT bool gtsam::VariableSlots::equals | ( | const VariableSlots & | rhs, |
double | tol = 0.0 |
||
) | const |
equals
|
inlineinherited |
Handy 'exists' function
|
inlineinherited |
Handy 'insert' function for Matlab wrapper
|
inlineinherited |
Conversion to a standard STL container
GTSAM_EXPORT void gtsam::VariableSlots::print | ( | const std::string & | str = "VariableSlots: " | ) | const |