diff --git a/gtsam/inference/EdgeKey.h b/gtsam/inference/EdgeKey.h index bf1bf6030..3d95e4c06 100644 --- a/gtsam/inference/EdgeKey.h +++ b/gtsam/inference/EdgeKey.h @@ -46,7 +46,10 @@ class GTSAM_EXPORT EdgeKey { /// @{ /// Cast to Key - operator Key() const { return ((std::uint64_t)i_ << 32) | j_; } + Key key() const { return ((std::uint64_t)i_ << 32) | j_; } + + /// Cast to Key + operator Key() const { return key(); } /// Retrieve high 32 bits inline std::uint32_t i() const { return i_; } diff --git a/gtsam/inference/inference.i b/gtsam/inference/inference.i index b25e2fd62..5084355a8 100644 --- a/gtsam/inference/inference.i +++ b/gtsam/inference/inference.i @@ -96,6 +96,19 @@ unsigned char mrsymbolChr(size_t key); unsigned char mrsymbolLabel(size_t key); size_t mrsymbolIndex(size_t key); +#include +class EdgeKey { + EdgeKey(std::uint32_t i, std::uint32_t j); + EdgeKey(size_t key); + EdgeKey(const gtsam::EdgeKey& key); + + std::uint32_t i() const; + std::uint32_t j() const; + size_t key() const; + + void print(string s = "") const; +}; + #include class Ordering { /// Type of ordering to use