ArMem Servers + Viewer: Add general framework to allow visualization and other operations triggered by Viewer
-
Allow visualizing instances / complete slices from GUI -
Allow memory servers to offer other operations over GUI
Possible design for visualization:
- Memory Servers have a
visualize(MemoryQuery query, Flags flags)
function (input is a single struct, of course) -
MemoryQuery
specifies what should be visualized. -
Flags
specify something like set/add/hide (but should not be too complex) - Memory server runs the query and visualizes the content of the result
- Memory server may return a result (success/failure)
A similar framework could be imagined for general operations (e.g. attaching an object to a robot node as offered by ObjectPoseGui
), but need some consideration.
- Memory servers have a
Actions[] getGuiActions(MemoryID, ...)
function that is triggered by Gui when an entity is selected - Memory servers somehow specify actions for context menu (could we extend the RemoteGui framework for that?)
- Gui adds actions to context menu.
- When an action is selected, it triggers the server correspondingly:
Result runGuiAction(MemoryID, action text, action data)
- Result may be shown in GUI (e.g. some message like "object X is attached to robot node Y"