Skip to content

Commit

Permalink
Migrate odometry display (#275)
Browse files Browse the repository at this point in the history
* Move odometry display and covariance classes

* Make everything compile and fix linters

* Move covariance_visual to rviz_rendering

- covariance_property is no friend class anymore
- make covariance_visual independent of geometry_msgs

* Add to plugins_descriptions.xml file

* Minor refactoring of CovarianceProperty

* Remove Eigen dependency in rviz_default_plugins

* Add tests to odometry_display

* Move scene graph introspection to rviz_rendering

- Split scene_graph_introspection into gmock dependent/independent part
- add helpers methods to find rviz shapes
- polish methods to make them available throughout RViz

* Add rudimentary tests for CovarianceVisual

* Extract quaternion helper and include a test

* Add possibility to change arbitrary subproperties to testing framework

* Add visual test for odometry display

* Refactoring of CovarianceVisual

* Add further tests for odometry_display

* Refactoring of odometry_display.cpp

* Make covariances behave like other RViz objects

- The property is now only a container for GUI interaction
- Covariance visuals need to be kept in the display
- Allow simple setting of property content for every visual
- Make CovarianceVisual independent of rviz_rendering::Object since there is no relation anymore (not all objects derive from Object anyway)

* Set error status if tansform fails

* Fix tests after rebase

* Move odometry_display.hpp to include folder

* Fix tests after rebase

* Harmonize failed transfor error status
  • Loading branch information
Martin-Idel-SI authored and wjwwood committed Jun 14, 2018
1 parent 96ab696 commit 4cbab09
Show file tree
Hide file tree
Showing 73 changed files with 3,350 additions and 2,134 deletions.
5 changes: 5 additions & 0 deletions migration_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,9 @@ The following is an incomplete list of changes (to be expanded when porting more

- `BillboardLine: newLine()``finishLine()` (identical functionality, but `finishLine()` can be called exactly `n` times, where `n` is the number of lines in the billboard line, whereas `newLine()` could only be called `n-1` times)
- `PointCloud: addPoints(...)` now takes vector iterators as arguments instead of pointer and size.
- `CovarianceVisual`: Does not inherit from `rviz_rendering::Object` anymore and has a much restricted interface.
Previously, this was only used by `rviz_common::properties::CovarianceProperty`.
To streamline interfaces, handling of visuals now needs to be done in the display: Set up a slot fetching data from the covariance property handing it over to CovarianceVisual (see OdometryDisplay for an example).

## rviz_common

Expand All @@ -114,3 +117,5 @@ For an example of how to do this, see PointCloudSelectionHandler.
Then the function can be used for handler creation and the SelectionHandler works as previously.
- In general, several functions within `SelectionManager` and `ViewPicker` have been moved to private API.
If they are needed, please provide a pull request to the RViz repository explaining why this functionality is needed.
- `CovarianceProperty`: Previously used CovarianceVisual, now contains only a number of properties.
See `rviz_rendering::CovarianceVisual` for further information and OdometryDisplay in `rviz_default_plugins` for an example usage.
242 changes: 0 additions & 242 deletions rviz/src/rviz/default_plugin/covariance_property.cpp

This file was deleted.

122 changes: 0 additions & 122 deletions rviz/src/rviz/default_plugin/covariance_property.h

This file was deleted.

Loading

0 comments on commit 4cbab09

Please sign in to comment.