cartographer-project/cartographer#1711 removed
building Abseil from the Cartographer library.
We follow here the same approach as in
cartographer CI.
An alternative approach which is now possible is
adding an Abseil package for catkin and depending
on that.
Signed-off-by: Wolfgang Hess <whess@lyft.com>
* Fix build status on front page.
Changes "googlecartographer" to "cartographer-project"
for references to CI and GitHub.
Following cartographer-project/cartographer#1693.
Signed-off-by: Wolfgang Hess <whess@lyft.com>
* Remove Indigo and Lunar Dockerfiles.
This fixes#1050. Tested standalone compilation and with the debian fakeroot tool. I had to build with a custom Protobuf3 instance though, so another build-check on a regular setup would be appreciated.
Before this change all *.cc files would be included. If subprojects
were run individually with the Debian package generator. This resulted in an
inclusion of temporarily checked out *.cc from the abseil include. This
change fixes the import behaviour and enables the creation of a valid
package.
Fixes strange behavior with empty leftover entries in the trajectory list of the RViz plugin.
By using an `std::map` instead of an `std::vector` for the trajectories we can
easily erase trajectories which do not appear in the submap list anymore.
Set the visibility in he constructor, otherwise the setting won't have
an effect on newly created submap slices unless it's toggled again.
Somehow this got lost in #1012, sorry for that.
This adds a .clang-format file, so that git clang-format uses
Google style without the need to remember the commandline flag.
Similar to googlecartographer/cartographer#1249.
This fixes the issue that rviz crashes when loading the cartographer_rviz plugin saying that the symbol `cartographer::io::UnpackTextureData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int)` is undefined.
PAIR=@wohe,@SirVer
* OgreSlice has a slice_id.
This is necessary because we will have multiple OgreSlices
and Ogre requires unique names for textures and other entities.
* Visualize both high and low res slices.
Adds checkboxes to the rviz plugin to show high and low
resolution slices.
DrawableSubmap now holds a vector of OgreSlices and
decides which slices are visible.
* Corrections. Move slice visibility to OgreSlice.
Renames OgreSubmap to OgreSlice in preparation for that a
DrawableSubmap should hold multiple OgreSlices, so multiple
types of slices for one submap can be visualized.
This changes the Ros api that multiple textures will be returned,
which are forwarded from the Ros service call.
Adapts all usages to follow this new api.
Adds a 'map_node_' which gets updated with the transform to RViz's
fixed frame. Before, submaps rendered incorrectly if a fixed frame
different from the map frame was chosen.
Removes the map frame property since this data is published on the
submap list topic.
Renames node names to reflect the frames they represent.
The 'slice_pose' must be updated together with the texture. Right
now it is updated before the texture so the submap will be shown
in the wrong pose for a short time.
The fix is to move the handling of poses over to Ogre:
The 'scene_node_' now transforms both the shown submap and the axes
into the submap frame. The 'submap_node_' applies the 'slice_pose'
so that the textured rectangle is shown in the correct pose in
the submap frame.
- simplify code around toggling submap visibility
- pass DisplayContext to DrawableSubmap
- add parent scene node for both submap and axes
- remove unnecessary const
Fixes#405.
- Add a variable list object to the submaps plugin, containing visibility
checkboxes for individual submaps. Each DrawableSubmap creates and
manages its visibility property checkbox object. Submaps are hidden by
detaching the Ogre manual object from the Ogre scene node.
- Fetch if the submap version number is different, possibly lower
(meaning Cartographer was restarted)
- Among the lines added in #150, the one that fixes building with Qt5 is
the following line:
include_directories(${Qt5Widgets_INCLUDE_DIRS})
The rest is redundant and actually doesn't do anything. A CMake
variable named QtX_INCLUDE_DIRS is not defined when find_package()-ing
Qt. Also, there is no need to find_package() Qt5 Widgets twice.
- In documentation, add sudo to rosdep init invocation, following
http://wiki.ros.org/rosdep. Add a comment about the error which will
be printed if the user has already run sudo rosdep init since
installing ROS.
* Change mutex locker scope in SubmapsDisplay::update()
This avoids the potential unsafe situation where someone (for example,
SubmapsDisplay::Reset()) clears the trajectories vector, but update()
uses it after the mutex has been released, since the scope of the lock
was only in the try block.
Also resolve a miscellaneous signed-unsigned warning.
* Make DrawableSubmap destructor safer
Make the DrawableSubmap destructor wait for the asynchronous fetch
thread to finish - otherwise, it's possible to crash rviz by rapidly
pressing the enable checkbox of the submaps plugin. Eventually the race
condition will be triggered, and the fetch thread will write into a
deleted DrawableSubmap object, which causes a crash.
Add support for building libcartographer in the same project
Support adding as a CMake subproject by using the PROJECT_*_DIR variables
instead of the absolute CMAKE_*_DIR variables.
Resolve a signed-unsigned comparison compiler warning
Fix comment typo