gtsam  4.0.0
gtsam
gtsam::LabeledSymbol Class Reference

Detailed Description

Customized version of gtsam::Symbol for multi-robot use.

This variation of Symbol stores two char values in addition to an integer key, which is useful for encoding a group for a variable. This was originally designed for multi-robot systems, which allows expressing "Pose 7 from robot B" as "xB7".

Public Member Functions

 LabeledSymbol ()
 Default constructor.
 
 LabeledSymbol (const LabeledSymbol &key)
 Copy constructor.
 
 LabeledSymbol (unsigned char c, unsigned char label, std::uint64_t j)
 Constructor.
 
 LabeledSymbol (gtsam::Key key)
 Constructor that decodes an integer gtsam::Key.
 
 operator gtsam::Key () const
 Cast to integer.
 
void print (const std::string &s="") const
 
bool equals (const LabeledSymbol &expected, double tol=0.0) const
 
gtsam::Key key () const
 return the integer version
 
unsigned char label () const
 Retrieve label character.
 
unsigned char chr () const
 Retrieve key character.
 
size_t index () const
 Retrieve key index.
 
 operator std::string () const
 Create a string from the key.
 
bool operator< (const LabeledSymbol &comp) const
 Comparison for use in maps.
 
bool operator== (const LabeledSymbol &comp) const
 
bool operator== (gtsam::Key comp) const
 
bool operator!= (const LabeledSymbol &comp) const
 
bool operator!= (gtsam::Key comp) const
 
LabeledSymbol upper () const
 
LabeledSymbol lower () const
 
LabeledSymbol newChr (unsigned char c) const
 
LabeledSymbol newLabel (unsigned char label) const
 

Static Public Member Functions

static boost::function< bool(gtsam::Key)> TypeTest (unsigned char c)
 Return a filter function that returns true when evaluated on a gtsam::Key whose character (when converted to a LabeledSymbol) matches c. More...
 
static boost::function< bool(gtsam::Key)> LabelTest (unsigned char label)
 
static boost::function< bool(gtsam::Key)> TypeLabelTest (unsigned char c, unsigned char label)
 

Protected Attributes

unsigned char c_
 
unsigned char label_
 
std::uint64_t j_
 

Friends

class boost::serialization::access
 Serialization function.
 

Member Function Documentation

◆ TypeTest()

boost::function< bool(gtsam::Key)> gtsam::LabeledSymbol::TypeTest ( unsigned char  c)
static

Return a filter function that returns true when evaluated on a gtsam::Key whose character (when converted to a LabeledSymbol) matches c.

Use this with the Values::filter() function to retrieve all key-value pairs with the requested character.


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