27 std::set<DiscreteKey>
keys;
29 if (
auto p = std::dynamic_pointer_cast<DecisionTreeFactor>(factor)) {
34 if (
auto p = std::dynamic_pointer_cast<HybridFactor>(factor)) {
48 std::inserter(keys, keys.begin()),
55 std::unordered_map<Key, DiscreteKey>
result;
66 if (
auto p = std::dynamic_pointer_cast<HybridFactor>(factor)) {
67 for (
const Key&
key :
p->continuousKeys()) {
const gtsam::Symbol key('X', 0)
KeySet discreteKeySet() const
Get all the discrete keys in the factor graph, as a set.
std::set< DiscreteKey > discreteKeys() const
Get all the discrete keys in the factor graph.
std::unordered_map< Key, DiscreteKey > discreteKeyMap() const
Get a map from Key to corresponding DiscreteKey.
const KeySet continuousKeySet() const
Get all the continuous keys in the factor graph.
EIGEN_DONT_INLINE void transform(const Transformation &t, Data &data)
std::pair< Key, size_t > DiscreteKey
Factor graph with utilities for hybrid factors.
FastVector< sharedFactor > factors_
std::uint64_t Key
Integer nonlinear key type.