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 Components Plugin #270

Merged
merged 19 commits into from
Sep 23, 2020
Merged

Plotting Components Plugin #270

merged 19 commits into from
Sep 23, 2020

Conversation

AmrElsersy
Copy link
Contributor

A plugin for handling Components Plotting that uses PlottingInterface
this includes

  • Making the ComponentInspector plugin items are dragable to be dragged into the plotting interface

  • Making a gazebo-plugin to handle charts subscription to that components and updates the plotting interface

Screenshot from 2020-08-03 18-45-46

This class diagram shows the design and the integration between it and plotting interface

Plotting_ClassDiagram

@chapulina chapulina added enhancement New feature or request GUI Gazebo's graphical interface (not pure Ignition GUI) 🔮 dome Ignition Dome labels Aug 5, 2020
@AmrElsersy AmrElsersy marked this pull request as ready for review August 14, 2020 10:02
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.

This is working great, well done! I just have some minor comments, but the functionality is ✨

src/gui/plugins/plotting/Plotting.cc Outdated Show resolved Hide resolved
src/gui/plugins/component_inspector/Vector3d.qml Outdated Show resolved Hide resolved
src/gui/plugins/component_inspector/Vector3d.qml Outdated Show resolved Hide resolved
src/gui/plugins/component_inspector/Pose3d.qml Outdated Show resolved Hide resolved
src/gui/plugins/plotting/Plotting.cc Outdated Show resolved Hide resolved
src/gui/plugins/plotting/Plotting.hh Outdated Show resolved Hide resolved
src/gui/plugins/plotting/Plotting.hh Outdated Show resolved Hide resolved
src/gui/plugins/plotting/Plotting.qml Show resolved Hide resolved
src/gui/plugins/plotting/Plotting.cc Outdated Show resolved Hide resolved
src/gui/plugins/plotting/Plotting.cc Outdated Show resolved Hide resolved
Signed-off-by: AmrElsersy <[email protected]>
Signed-off-by: AmrElsersy <[email protected]>
@AmrElsersy AmrElsersy requested a review from chapulina September 3, 2020 03:35
Signed-off-by: AmrElsersy <[email protected]>
@chapulina chapulina added needs upstream release Blocked by a release of an upstream library beta Targeting beta release of upcoming collection labels Sep 4, 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.

Features worked really well. Just a small comment. After it's resolved then I think this PR will be ready.

 $ ign gazebo levels.sdf
free(): invalid pointer

invalid pointer warning upon shutdown. I believe this is introduced by the plotting.cc/hh code after cross comparing with the master branch and testing the ComponentInspector code only.

@AmrElsersy AmrElsersy closed this Sep 10, 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.

It's working for me, just have comments on some implementation details.

src/gui/plugins/component_inspector/Vector3d.qml Outdated Show resolved Hide resolved
src/gui/plugins/plotting/Plotting.cc Outdated Show resolved Hide resolved
src/gui/plugins/plotting/Plotting.cc Outdated Show resolved Hide resolved
src/gui/plugins/plotting/Plotting.cc Outdated Show resolved Hide resolved
src/gui/plugins/plotting/Plotting.cc Outdated Show resolved Hide resolved
Signed-off-by: AmrElsersy <[email protected]>
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.

There are some code checker issues 😉 Be sure to run tools/code_check.sh

  ./src/gui/plugins/plotting/Plotting.cc:20:  Found C++ system header after other header. Should be: Plotting.h, c system, c++ system, other.  [build/include_order] [4]
  ./src/gui/plugins/plotting/Plotting.cc:395:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
  ./src/gui/plugins/plotting/Plotting.hh:126:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
  ./src/gui/plugins/plotting/Plotting.hh:153:  Add #include <memory> for unique_ptr<>  [build/include_what_you_use] [4]

src/gui/plugins/plotting/Plotting.cc Outdated Show resolved Hide resolved
@chapulina chapulina removed the needs upstream release Blocked by a release of an upstream library label Sep 17, 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.

Working for me! I pushed some minor changes on 095b1fe related to smart pointers and adding the plugin name.

Also opened gazebosim/gz-gui#125 with a few more tweaks.

Good to merge once CI is happy and @claireyywang has also approved.

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!

@chapulina chapulina merged commit 2676909 into gazebosim:master Sep 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beta Targeting beta release of upcoming collection 🔮 dome Ignition Dome enhancement New feature or request GUI Gazebo's graphical interface (not pure Ignition GUI)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants