19 std::map<size_t, std::function<void()>> contextMenuActions;
20 std::optional<std::function<void(
Eigen::Matrix4f const&)>> transformEndAction;
23 template <
typename ElementT>
29 auto iterator = observedLayers.find(layer.
data_.name);
31 if (iterator == observedLayers.end())
33 std::tie(iterator, std::ignore) = observedLayers.emplace(layer.
data_.name, layer);
36 auto& [name, observedLayer] = *iterator;
37 return observedLayer.observations[element.data_->id];
48 explicit ObservedLayer(
viz::Layer& layer) : layer(layer)
52 std::reference_wrapper<viz::Layer> layer;
53 std::map<std::string, Observation> observations;
56 std::map<std::string, ObservedLayer> observedLayers;