22 #include <gtsam/inference/Symbol.h> 36 unsigned char c_, label_;
47 LabeledSymbol(
unsigned char c,
unsigned char label, std::uint64_t j);
56 void print(
const std::string& s =
"")
const;
59 return (*
this) == expected;
66 inline unsigned char label()
const {
return label_; }
69 inline unsigned char chr()
const {
return c_; }
72 inline size_t index()
const {
return j_; }
75 operator std::string()
const;
91 static boost::function<bool(
gtsam::Key)> TypeTest(
unsigned char c);
94 static boost::function<bool(
gtsam::Key)> LabelTest(
unsigned char label);
97 static boost::function<bool(
gtsam::Key)> TypeLabelTest(
unsigned char c,
unsigned char label);
101 LabeledSymbol lower()
const {
return LabeledSymbol(c_, tolower(label_), j_); }
104 LabeledSymbol newChr(
unsigned char c)
const {
return LabeledSymbol(c, label_, j_); }
105 LabeledSymbol newLabel(
unsigned char label)
const {
return LabeledSymbol(c_, label, j_); }
110 friend class boost::serialization::access;
111 template<
class ARCHIVE>
112 void serialize(ARCHIVE & ar,
const unsigned int ) {
113 ar & BOOST_SERIALIZATION_NVP(c_);
114 ar & BOOST_SERIALIZATION_NVP(label_);
115 ar & BOOST_SERIALIZATION_NVP(j_);
120 inline Key mrsymbol(
unsigned char c,
unsigned char label,
size_t j) {
Customized version of gtsam::Symbol for multi-robot use.
Definition: LabeledSymbol.h:34
unsigned char chr() const
Retrieve key character.
Definition: LabeledSymbol.h:69
unsigned char label() const
Retrieve label character.
Definition: LabeledSymbol.h:66
unsigned char mrsymbolChr(Key key)
Return the character portion of a symbol key.
Definition: LabeledSymbol.h:125
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition: Matrix.cpp:141
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:57
unsigned char mrsymbolLabel(Key key)
Return the label portion of a symbol key.
Definition: LabeledSymbol.h:128
Template to create a binary predicate.
Definition: Testable.h:110
A helper that implements the traits interface for GTSAM types.
Definition: Testable.h:150
Key mrsymbol(unsigned char c, unsigned char label, size_t j)
Create a symbol key from a character, label and index, i.e.
Definition: LabeledSymbol.h:120
size_t mrsymbolIndex(Key key)
Return the index portion of a symbol key.
Definition: LabeledSymbol.h:131
bool operator!=(const Matrix &A, const Matrix &B)
inequality
Definition: Matrix.h:109
size_t index() const
Retrieve key index.
Definition: LabeledSymbol.h:72
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
gtsam::Key key() const
return the integer version
Definition: LabeledSymbol.h:63
bool operator==(const Matrix &A, const Matrix &B)
equality is just equal_with_abs_tol 1e-9
Definition: Matrix.h:102