gazebosim/gz-gui

Add transport interface to insert plugins

オープン

#379 opened on 2022/03/29

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)C++ (68 件のフォーク)auto 404
enhancementhelp wanted

Repository metrics

Stars
 (103 個のスター)
PR merge metrics
 (PR metrics pending)

説明

Desired behavior

A developer should be able to load a new GUI plugin programmatically. For example, they may want to load a plugin to display information to the user whenever an entity is inserted in simulation.

Alternatives considered

Right now, the end user would need to manually load the plugin from the menu and configure it manually every time.

Implementation suggestion

At the moment, GUI plugins can already load other GUI plugins by directly calling Application::LoadPlugin:

https://github.com/ignitionrobotics/ign-gui/blob/ec910ed6de3e1745ac9e9288d9c1c673ed08cd9e/include/ignition/gui/Application.hh#L82-L93

But that's not available to other processes. I think an Ignition Transport interface would be a good way to expose plugin loading to other processes (such as Gazebo's server). The ignition::msgs::Plugin message could be used for the request.

Additional context

The specific use case we have is launching ignition::gazebo::gui::Plot3D plugins whenever a new entity is spawned, so its path is plotted automatically.

コントリビューターガイド