stdr-simulator-ros-pkg / stdr_simulator

A simple, flexible and scalable 2D multi-robot simulator.
http://stdr-simulator-ros-pkg.github.io/
GNU General Public License v3.0
97 stars 66 forks source link

Redesign gui #185

Closed steremma closed 8 years ago

steremma commented 8 years ago

Goal

I redesigned the stdr_gui package to make it more maintanable by removing code duplication. I included all common code between different source types (as well as RFID tags) in a base class named CGuiSource.

Implementation

All data members and functionality that are common between source types are moved into the abstract base class: CGuiSource. The only function differing between types is declared pure virtual and is overriden by the sub classes to offer the previous functionality.

Testing

Any launcher that includes the GUI component can be used to test the new package. The functionality is exactly the same as in the master branch, but loc are substantially reduced.

czalidis commented 8 years ago

Fails to build because the override keyword is only supported in C++11. The code base is not C++11 compliant. Backwards compatibility with non C++11 compliant compilers should be considered when possible. Should you make the change, please overwrite your first commit, don't create a new commit for the changes.

Also, can you please explain the purpose of your second commit?

steremma commented 8 years ago

the problem with the override keyword appears only as a warning to me, not an error and the code compiles. My second commit is not important, just removing old function calls that shouldn't be there at all.

In any case i can still rewrite it to remove the override keyword. I should probably remove the 2nd commit too, right?

2016-03-20 0:23 GMT+02:00 Christos Zalidis notifications@github.com:

Fails to build because the override keyword is only supported in C++11. The code base is not C++11 compliant. Backwards compatibility with non C++11 compliant compilers should be considered when possible. Should you make the change, please overwrite your first commit, don't create a new commit for the changes.

Also, can you please explain the purpose of your second commit?

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/stdr-simulator-ros-pkg/stdr_simulator/pull/185#issuecomment-198799038

steremma commented 8 years ago

Declared base destructor virtual so that derived class objects can be deleted via a base class pointer, thus avoiding the slicing problem