Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
gtsam::LabeledSymbol Class Reference

#include <LabeledSymbol.h>

Public Member Functions

unsigned char chr () const
 
bool equals (const LabeledSymbol &expected, double tol=0.0) const
 
size_t index () const
 
gtsam::Key key () const
 
unsigned char label () const
 
 LabeledSymbol ()
 
 LabeledSymbol (const LabeledSymbol &key)
 
 LabeledSymbol (unsigned char c, unsigned char label, std::uint64_t j)
 
 LabeledSymbol (gtsam::Key key)
 
LabeledSymbol lower () const
 
LabeledSymbol newChr (unsigned char c) const
 
LabeledSymbol newLabel (unsigned char label) const
 
 operator gtsam::Key () const
 
 operator std::string () const
 
bool operator!= (const LabeledSymbol &comp) const
 
bool operator!= (gtsam::Key comp) const
 
bool operator< (const LabeledSymbol &comp) const
 
bool operator== (const LabeledSymbol &comp) const
 
bool operator== (gtsam::Key comp) const
 
void print (const std::string &s="") const
 
LabeledSymbol upper () const
 

Static Public Member Functions

static std::function< bool(gtsam::Key)> LabelTest (unsigned char label)
 
static std::function< bool(gtsam::Key)> TypeLabelTest (unsigned char c, unsigned char label)
 
static std::function< bool(gtsam::Key)> TypeTest (unsigned char c)
 

Protected Attributes

unsigned char c_
 
std::uint64_t j_
 
unsigned char label_
 

Friends

GTSAM_EXPORT std::ostream & operator<< (std::ostream &, const LabeledSymbol &)
 Output stream operator that can be used with key_formatter (see Key.h). More...
 

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

Definition at line 35 of file LabeledSymbol.h.

Constructor & Destructor Documentation

◆ LabeledSymbol() [1/4]

gtsam::LabeledSymbol::LabeledSymbol ( )

Default constructor

Definition at line 28 of file LabeledSymbol.cpp.

◆ LabeledSymbol() [2/4]

gtsam::LabeledSymbol::LabeledSymbol ( const LabeledSymbol key)

Copy constructor

Definition at line 32 of file LabeledSymbol.cpp.

◆ LabeledSymbol() [3/4]

gtsam::LabeledSymbol::LabeledSymbol ( unsigned char  c,
unsigned char  label,
std::uint64_t  j 
)

Constructor

Definition at line 36 of file LabeledSymbol.cpp.

◆ LabeledSymbol() [4/4]

gtsam::LabeledSymbol::LabeledSymbol ( gtsam::Key  key)

Constructor that decodes an integer gtsam::Key

Definition at line 40 of file LabeledSymbol.cpp.

Member Function Documentation

◆ chr()

unsigned char gtsam::LabeledSymbol::chr ( ) const
inline

Retrieve key character

Definition at line 70 of file LabeledSymbol.h.

◆ equals()

bool gtsam::LabeledSymbol::equals ( const LabeledSymbol expected,
double  tol = 0.0 
) const
inline

Definition at line 59 of file LabeledSymbol.h.

◆ index()

size_t gtsam::LabeledSymbol::index ( ) const
inline

Retrieve key index

Definition at line 73 of file LabeledSymbol.h.

◆ key()

gtsam::Key gtsam::LabeledSymbol::key ( ) const
inline

return the integer version

Definition at line 64 of file LabeledSymbol.h.

◆ label()

unsigned char gtsam::LabeledSymbol::label ( ) const
inline

Retrieve label character

Definition at line 67 of file LabeledSymbol.h.

◆ LabelTest()

std::function< bool(gtsam::Key)> gtsam::LabeledSymbol::LabelTest ( unsigned char  label)
static

Definition at line 120 of file LabeledSymbol.cpp.

◆ lower()

LabeledSymbol gtsam::LabeledSymbol::lower ( ) const
inline

Definition at line 102 of file LabeledSymbol.h.

◆ newChr()

LabeledSymbol gtsam::LabeledSymbol::newChr ( unsigned char  c) const
inline

Definition at line 105 of file LabeledSymbol.h.

◆ newLabel()

LabeledSymbol gtsam::LabeledSymbol::newLabel ( unsigned char  label) const
inline

Definition at line 108 of file LabeledSymbol.h.

◆ operator gtsam::Key()

gtsam::LabeledSymbol::operator gtsam::Key ( ) const

Cast to integer

Definition at line 54 of file LabeledSymbol.cpp.

◆ operator std::string()

gtsam::LabeledSymbol::operator std::string ( ) const

Create a string from the key

Definition at line 74 of file LabeledSymbol.cpp.

◆ operator!=() [1/2]

bool gtsam::LabeledSymbol::operator!= ( const LabeledSymbol comp) const

Definition at line 94 of file LabeledSymbol.cpp.

◆ operator!=() [2/2]

Definition at line 104 of file LabeledSymbol.cpp.

◆ operator<()

bool gtsam::LabeledSymbol::operator< ( const LabeledSymbol comp) const

Comparison for use in maps

Definition at line 82 of file LabeledSymbol.cpp.

◆ operator==() [1/2]

bool gtsam::LabeledSymbol::operator== ( const LabeledSymbol comp) const

Definition at line 89 of file LabeledSymbol.cpp.

◆ operator==() [2/2]

bool gtsam::LabeledSymbol::operator== ( gtsam::Key  comp) const

Definition at line 99 of file LabeledSymbol.cpp.

◆ print()

void gtsam::LabeledSymbol::print ( const std::string &  s = "") const

Definition at line 69 of file LabeledSymbol.cpp.

◆ TypeLabelTest()

std::function< bool(gtsam::Key)> gtsam::LabeledSymbol::TypeLabelTest ( unsigned char  c,
unsigned char  label 
)
static

Definition at line 129 of file LabeledSymbol.cpp.

◆ TypeTest()

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

Definition at line 111 of file LabeledSymbol.cpp.

◆ upper()

LabeledSymbol gtsam::LabeledSymbol::upper ( ) const
inline

Definition at line 101 of file LabeledSymbol.h.

Friends And Related Function Documentation

◆ operator<<

GTSAM_EXPORT std::ostream& operator<< ( std::ostream &  os,
const LabeledSymbol symbol 
)
friend

Output stream operator that can be used with key_formatter (see Key.h).

Definition at line 145 of file LabeledSymbol.cpp.

Member Data Documentation

◆ c_

unsigned char gtsam::LabeledSymbol::c_
protected

Definition at line 37 of file LabeledSymbol.h.

◆ j_

std::uint64_t gtsam::LabeledSymbol::j_
protected

Definition at line 38 of file LabeledSymbol.h.

◆ label_

unsigned char gtsam::LabeledSymbol::label_
protected

Definition at line 37 of file LabeledSymbol.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:46:22