Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GSoC] Visualization plugins placement #6

Open
Sarath18 opened this issue May 25, 2020 · 1 comment
Open

[GSoC] Visualization plugins placement #6

Sarath18 opened this issue May 25, 2020 · 1 comment
Labels
question Further information is requested

Comments

@Sarath18
Copy link
Collaborator

This ticket is concerned with how the visualization plugins are loaded and placed in ign-rviz.

Potential places to load visualization plugins:

  1. Dialog window on the top-right of ignition gui.
  2. Drawer Menu in ignition-gui. The save/load config options can then be moved to the dialog window.
  3. Add, Remove, Duplicate button in a master visualization Displays GUI plugin (similar to RViz)

After loading the plugins, where are these visualization plugins placed in the application GUI:

  1. Each plugin is loaded individually with their GUI configs and is split horizontally adding new visualization plugins (like GUI plugins in ign-gui)
  2. All the visualization plugins after loading are placed in a master Displays GUI plugin and can be configured from there. (like RViz)

In the scenario where multiple visualization plugins are loaded, option 1 might tend to clutter the GUI. I am not sure if option 2 is feasible.

@ahcorde, @chapulina can you help me figure out the right implementation for this problem?

@chapulina
Copy link
Contributor

If I understand correctly, this question is about whether visualization plugins should have different placement from regular plugins.

As a reference, we used to have support for "display plugins" on ign-gui0. There was a plugin called Displays which was a regular ign-gui plugin:

https://github.com/ignitionrobotics/ign-gui/blob/560389770529d50a1b7c925c211ba0967fccd12b/include/ignition/gui/plugins/Displays.hh#L35-L45

And that plugin loaded within it other plugins that inherited from the DisplayPlugin class:

https://github.com/ignitionrobotics/ign-gui/blob/560389770529d50a1b7c925c211ba0967fccd12b/include/ignition/gui/DisplayPlugin.hh#L36-L37

You can see some screen captures of that at work here:

https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-gui/pull-requests/150/page/1

So I think that this would fit your options 3 and 2:

  • Add, Remove, Duplicate button in a master visualization Displays GUI plugin (similar to RViz)
  • All the visualization plugins after loading are placed in a master Displays GUI plugin and can be configured from there. (like RViz)

We don't need to follow the same structure, but I hope it's a helpful reference. One of the downsides to that approach was that we had a lot of duplicate code between Plugin and DisplayPlugin which would be nice to avoid.

@Sarath18 Sarath18 added the question Further information is requested label Jun 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants