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

Plotting interface #89

Merged
merged 3 commits into from
Aug 27, 2020
Merged

Conversation

AmrElsersy
Copy link
Contributor

@AmrElsersy AmrElsersy commented Jun 29, 2020

The Plotting Interface is responsible for Plotting the transport msgs that will be used from ign-gui and ign-gazebo plugins

it accepts the dragged fields from the TopicViewer plugin to register the fields to a specific chart

Screenshot from 2020-08-25 06-45-28

This is a UML Diagram for the code

Plot_ClassDiagram

@chapulina
@claireyywang

@claireyywang claireyywang changed the base branch from master to plotting-ui-project June 29, 2020 19:08
@chapulina chapulina added enhancement New feature or request 🔮 dome Ignition Dome labels Jun 29, 2020
Copy link
Contributor

@chapulina chapulina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some initial comments 😉

include/ignition/gui/qml/Chart.qml Outdated Show resolved Hide resolved
src/plugins/plotting/GuiPlotting.cc Outdated Show resolved Hide resolved
src/plugins/plotting/CMakeLists.txt Outdated Show resolved Hide resolved
include/ignition/gui/PlottingInterface.hh Outdated Show resolved Hide resolved
include/ignition/gui/PlottingInterface.hh Outdated Show resolved Hide resolved
include/ignition/gui/qml/Chart.qml Outdated Show resolved Hide resolved
include/ignition/gui/qml/Chart.qml Outdated Show resolved Hide resolved
include/ignition/gui/PlottingInterface.hh Show resolved Hide resolved
include/ignition/gui/PlottingInterface.hh Outdated Show resolved Hide resolved
include/ignition/gui/resources.qrc Outdated Show resolved Hide resolved
Copy link
Contributor

@claireyywang claireyywang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor comments. I understand this is still a draft but it's easier to get things right in the beginning then grind it later. I'd recommend going through the rest of the code following the same style suggestions to avoid repetitive comments in the next review.

include/ignition/gui/PlottingInterface.hh Outdated Show resolved Hide resolved
include/ignition/gui/PlottingInterface.hh Outdated Show resolved Hide resolved
include/ignition/gui/PlottingInterface.hh Outdated Show resolved Hide resolved
include/ignition/gui/PlottingInterface.hh Outdated Show resolved Hide resolved
include/ignition/gui/PlottingInterface.hh Outdated Show resolved Hide resolved
include/ignition/gui/PlottingInterface.hh Outdated Show resolved Hide resolved
src/PlottingInterface_TEST.cc Outdated Show resolved Hide resolved
include/ignition/gui/PlottingInterface.hh Show resolved Hide resolved
@claireyywang claireyywang marked this pull request as ready for review July 23, 2020 17:57
@claireyywang claireyywang changed the base branch from plotting-ui-project to master July 23, 2020 17:58
chapulina added a commit that referenced this pull request Aug 11, 2020
Signed-off-by: Louise Poubel <[email protected]>
AmrElsersy added a commit to AmrElsersy/ign-gui that referenced this pull request Aug 12, 2020
Copy link
Contributor

@claireyywang claireyywang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Resolved] What commands do you run to test the gui plugin? I'm still getting qml error on my machine using the latest code.

[GUI] [Err] [Plugin.cc:136] Failed to instantiate QML file [:/TransportPlotting/TransportPlotting.qml].

Copy link
Contributor

@claireyywang claireyywang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @AmrElsersy , I did a quick pass of review. It would be helpful if you could offer some quick instructions on how to test the plotting interface, like what simulation world did you use, what are some values that are draggable etc.

src/plugins/plotting/TransportPlotting.hh Show resolved Hide resolved
src/plugins/plotting/TransportPlotting.cc Outdated Show resolved Hide resolved
src/PlottingInterface_TEST.cc Outdated Show resolved Hide resolved
src/PlottingInterface_TEST.cc Outdated Show resolved Hide resolved
src/PlottingInterface.cc Outdated Show resolved Hide resolved
src/PlottingInterface.cc Outdated Show resolved Hide resolved
src/PlottingInterface.cc Outdated Show resolved Hide resolved
src/PlottingInterface.cc Outdated Show resolved Hide resolved
src/PlottingInterface.cc Outdated Show resolved Hide resolved
src/PlottingInterface.cc Outdated Show resolved Hide resolved
Copy link
Contributor

@chapulina chapulina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some more comments 😉

src/plugins/plotting/TransportPlotting.hh Outdated Show resolved Hide resolved
include/ignition/gui/qml/PlottingInterface.qml Outdated Show resolved Hide resolved
include/ignition/gui/qml/Chart.qml Outdated Show resolved Hide resolved
include/ignition/gui/qml/Chart.qml Outdated Show resolved Hide resolved
include/ignition/gui/qml/PlottingInterface.qml Outdated Show resolved Hide resolved
src/PlottingInterface.cc Outdated Show resolved Hide resolved
src/PlottingInterface_TEST.cc Outdated Show resolved Hide resolved
src/PlottingInterface_TEST.cc Outdated Show resolved Hide resolved
src/PlottingInterface.cc Show resolved Hide resolved
src/PlottingInterface.cc Show resolved Hide resolved
Copy link
Contributor

@claireyywang claireyywang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OSX CI test failures seem to be unrelated to this PR. Could they be flaky tests again @chapulina ? I thought we disabled the known flaky ones.

src/PlottingInterface_TEST.cc Outdated Show resolved Hide resolved
Copy link
Contributor

@claireyywang claireyywang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick

include/ignition/gui/PlottingInterface.hh Show resolved Hide resolved
src/PlottingInterface.cc Show resolved Hide resolved
include/ignition/gui/qml/Chart.qml Outdated Show resolved Hide resolved
include/ignition/gui/qml/PlottingInterface.qml Outdated Show resolved Hide resolved
src/PlottingInterface.cc Show resolved Hide resolved
include/ignition/gui/qml/PlottingInterface.qml Outdated Show resolved Hide resolved
Copy link
Contributor

@claireyywang claireyywang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To circumvent windows CI failure, similar to #103.

Homebrew CI failure seems unrelated to this PR so we are good.

Otherwise everything looks good to me. What do you think @chapulina ?

src/PlottingInterface_TEST.cc Outdated Show resolved Hide resolved
src/PlottingInterface_TEST.cc Show resolved Hide resolved
Copy link
Contributor

@chapulina chapulina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work, Amr! I just have some final comments and then I think we're ready to merge!

Just for the record for anyone reading this in the future, there will be another PR which will add support for using sim time from message headers on the X axis.

include/ignition/gui/qml/PlottingInterface.qml Outdated Show resolved Hide resolved
include/ignition/gui/qml/PlottingInterface.qml Outdated Show resolved Hide resolved
include/ignition/gui/qml/PlottingInterface.qml Outdated Show resolved Hide resolved
include/ignition/gui/qml/PlottingInterface.qml Outdated Show resolved Hide resolved
include/ignition/gui/qml/PlottingInterface.qml Outdated Show resolved Hide resolved
include/ignition/gui/qml/PlottingInterface.qml Outdated Show resolved Hide resolved
include/ignition/gui/qml/PlottingInterface.qml Outdated Show resolved Hide resolved
Copy link
Contributor

@claireyywang claireyywang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added two comments to fix the window CI error: TransportPlotting.dll : fatal error LNK1120: 1 unresolved externals

Otherwise LGTM

src/plugins/plotting/TransportPlotting.hh Show resolved Hide resolved
src/plugins/plotting/TransportPlotting.hh Show resolved Hide resolved
Copy link
Contributor

@chapulina chapulina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 🎉

⚠️ But before merging, we need to:

  • Fix DCO: you can do this by rebasing - be sure to use the latest master branch
  • Fix CI
  • Update the indentation on the QML files

Signed-off-by: AmrElsersy <[email protected]>
Copy link
Contributor

@claireyywang claireyywang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@claireyywang claireyywang added this to the nal milestone Aug 27, 2020
@chapulina chapulina merged commit c49da10 into gazebosim:master Aug 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔮 dome Ignition Dome enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants