gtsam
4.0.0
gtsam
|
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.
Standard Constructors | |
template<class FG > | |
VariableSlots (const FG &factorGraph) | |
Constructor from a set of factors to be combined. More... | |
Testable | |
GTSAM_EXPORT void | print (const std::string &str="VariableSlots: ") const |
print | |
GTSAM_EXPORT bool | equals (const VariableSlots &rhs, double tol=0.0) const |
equals | |
Static Public Attributes | |
static GTSAM_EXPORT const size_t | Empty = numeric_limits<size_t>::max() |
Public Types | |
typedef FastMap< Key, FastVector< size_t > > | Base |
Public Types inherited from gtsam::FastMap< Key, FastVector< size_t > > | |
typedef std::map< Key, FastVector< size_t >, std::less< Key >, typename internal::FastDefaultAllocator< std::pair< const Key, FastVector< size_t > > >::type > | Base |
Additional Inherited Members | |
Public Member Functions inherited from gtsam::FastMap< Key, FastVector< size_t > > | |
FastMap () | |
Default constructor. | |
FastMap (INPUTITERATOR first, INPUTITERATOR last) | |
Constructor from a range, passes through to base class. | |
FastMap (const FastMap< Key, FastVector< size_t > > &x) | |
Copy constructor from another FastMap. | |
FastMap (const Base &x) | |
Copy constructor from the base map class. | |
operator std::map< Key, FastVector< size_t > > () const | |
Conversion to a standard STL container. | |
bool | insert2 (const Key &key, const FastVector< size_t > &val) |
Handy 'insert' function for Matlab wrapper. | |
bool | exists (const Key &e) const |
Handy 'exists' function. | |
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.