26 std::set<DiscreteKey>
keys;
28 if (
auto p = std::dynamic_pointer_cast<DiscreteFactor>(factor)) {
33 if (
auto p = std::dynamic_pointer_cast<HybridFactor>(factor)) {
54 std::unordered_map<Key, DiscreteKey>
result;
65 if (
auto p = std::dynamic_pointer_cast<HybridFactor>(factor)) {
66 for (
const Key&
key :
p->continuousKeys()) {
69 }
else if (
auto p = std::dynamic_pointer_cast<GaussianFactor>(factor)) {
70 keys.insert(
p->keys().begin(),
p->keys().end());