gtsam  4.0.0
gtsam::VariableSlots Class Reference

Detailed Description

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.

+ Inheritance diagram for gtsam::VariableSlots:

Standard Constructors

template<class FG >
 VariableSlots (const FG &factorGraph)
 Constructor from a set of factors to be combined. More...


GTSAM_EXPORT void print (const std::string &str="VariableSlots: ") const
GTSAM_EXPORT bool equals (const VariableSlots &rhs, double tol=0.0) const

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.
 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.

Constructor & Destructor Documentation

◆ VariableSlots()

template<class FG >
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.

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