Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 52 additions & 31 deletions rviz_default_plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ cmake_minimum_required(VERSION 3.10)

project(rviz_default_plugins)

# Limit concurrent link jobs to reduce peak memory usage
set_property(GLOBAL PROPERTY JOB_POOLS link_job_pool=2)
set(CMAKE_JOB_POOL_LINK link_job_pool)

# Default to C++17
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 17)
Expand Down Expand Up @@ -359,10 +363,27 @@ if(BUILD_TESTING)
#
# There are also issues even if we manage to defer the linking, because the fixture class inherits
# from gtest classes, which are not exported.
set(TEST_FIXTURE_SOURCES_WITH_MOCK
#
# However, an OBJECT library allows us to compile the sources once and reuse them.
add_library(test_fixture_objects OBJECT
test/rviz_default_plugins/displays/display_test_fixture.cpp
test/rviz_default_plugins/scene_graph_introspection.cpp
)
target_include_directories(test_fixture_objects PRIVATE
${TEST_INCLUDE_DIRS}
include
${GMOCK_INCLUDE_DIRS}
${GTEST_INCLUDE_DIRS}
)
target_link_libraries(test_fixture_objects PUBLIC
rclcpp::rclcpp
rviz_common::rviz_common
rviz_ogre_vendor::OgreMain
ogre_testing_environment
Qt${QT_VERSION_MAJOR}::Widgets
)

set(TEST_FIXTURE_OBJECTS $<TARGET_OBJECTS:test_fixture_objects>)

set(TEST_FIXTURE_WITH_MOCK_LIBRARIES
rclcpp::rclcpp
Expand All @@ -373,7 +394,7 @@ if(BUILD_TESTING)

ament_add_gmock(fps_view_controller_test
test/rviz_default_plugins/view_controllers/fps/fps_view_controller_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET fps_view_controller_test)
target_include_directories(fps_view_controller_test PRIVATE ${TEST_INCLUDE_DIRS})
Expand All @@ -387,7 +408,7 @@ if(BUILD_TESTING)

ament_add_gmock(frame_view_controller_test
test/rviz_default_plugins/view_controllers/frame/frame_view_controller_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET frame_view_controller_test)
target_include_directories(frame_view_controller_test PRIVATE ${TEST_INCLUDE_DIRS})
Expand All @@ -401,7 +422,7 @@ if(BUILD_TESTING)

ament_add_gmock(frame_info_test
test/rviz_default_plugins/displays/tf/frame_info_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET frame_info_test)
target_include_directories(frame_info_test PRIVATE test)
Expand All @@ -410,15 +431,15 @@ if(BUILD_TESTING)

ament_add_gmock(get_transport_from_topic_test
test/rviz_default_plugins/displays/image/get_transport_from_topic_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK})
${TEST_FIXTURE_OBJECTS})
if(TARGET get_transport_from_topic_test)
target_include_directories(get_transport_from_topic_test PRIVATE test)
target_link_libraries(get_transport_from_topic_test ${TEST_FIXTURE_WITH_MOCK_LIBRARIES} rviz_default_plugins ogre_testing_environment)
endif()

ament_add_gmock(grid_cells_display_test
test/rviz_default_plugins/displays/grid_cells/grid_cells_display_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET grid_cells_display_test)
target_include_directories(grid_cells_display_test PRIVATE test)
Expand All @@ -427,7 +448,7 @@ if(BUILD_TESTING)

ament_add_gmock(image_display_test
test/rviz_default_plugins/displays/image/image_display_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET image_display_test)
target_include_directories(image_display_test PRIVATE test)
Expand Down Expand Up @@ -457,7 +478,7 @@ if(BUILD_TESTING)
test/rviz_default_plugins/displays/marker/markers/text_view_facing_marker_test.cpp
test/rviz_default_plugins/displays/marker/markers/triangle_list_marker_test.cpp
test/rviz_default_plugins/displays/marker/markers/markers_test_fixture.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET marker_test)
target_include_directories(marker_test PRIVATE test)
Expand All @@ -472,7 +493,7 @@ if(BUILD_TESTING)

ament_add_gmock(marker_common_test
test/rviz_default_plugins/displays/marker/marker_common_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET marker_common_test)
target_include_directories(marker_common_test PRIVATE test)
Expand All @@ -486,7 +507,7 @@ if(BUILD_TESTING)
endif()

ament_add_gmock(map_display_test
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
test/rviz_default_plugins/displays/map/map_display_test.cpp
${SKIP_DISPLAY_TESTS})
if(TARGET map_display_test)
Expand All @@ -496,7 +517,7 @@ if(BUILD_TESTING)

ament_add_gmock(measure_tool_test
test/rviz_default_plugins/tools/measure/measure_tool_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET measure_tool_test)
target_include_directories(measure_tool_test PRIVATE test)
Expand All @@ -505,7 +526,7 @@ if(BUILD_TESTING)

ament_add_gmock(odometry_display_test
test/rviz_default_plugins/displays/odometry/odometry_display_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET odometry_display_test)
target_include_directories(odometry_display_test PRIVATE test)
Expand All @@ -514,7 +535,7 @@ if(BUILD_TESTING)

ament_add_gmock(odometry_ogre_helper_test
test/rviz_default_plugins/displays/odometry/quaternion_helper_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET odometry_ogre_helper_test)
target_include_directories(odometry_ogre_helper_test PRIVATE test)
Expand All @@ -523,7 +544,7 @@ if(BUILD_TESTING)

ament_add_gmock(orbit_view_controller_test
test/rviz_default_plugins/view_controllers/orbit/orbit_view_controller_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET orbit_view_controller_test)
target_include_directories(orbit_view_controller_test PRIVATE test)
Expand All @@ -537,7 +558,7 @@ if(BUILD_TESTING)

ament_add_gmock(ortho_view_controller_test
test/rviz_default_plugins/view_controllers/ortho/ortho_view_controller_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET ortho_view_controller_test)
target_include_directories(ortho_view_controller_test PRIVATE test)
Expand All @@ -551,7 +572,7 @@ if(BUILD_TESTING)

ament_add_gmock(palette_builder_test
test/rviz_default_plugins/displays/map/palette_builder_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET palette_builder_test)
target_include_directories(palette_builder_test PRIVATE test)
Expand All @@ -560,7 +581,7 @@ if(BUILD_TESTING)

ament_add_gmock(path_display_test
test/rviz_default_plugins/displays/path/path_display_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET path_display_test)
target_include_directories(path_display_test PRIVATE test)
Expand All @@ -583,7 +604,7 @@ if(BUILD_TESTING)

ament_add_gmock(point_cloud2_display_test
test/rviz_default_plugins/displays/pointcloud/point_cloud2_display_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET point_cloud2_display_test)
target_include_directories(point_cloud2_display_test PRIVATE test)
Expand All @@ -597,7 +618,7 @@ if(BUILD_TESTING)

ament_add_gmock(point_cloud_common_test
test/rviz_default_plugins/displays/pointcloud/point_cloud_common_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET point_cloud_common_test)
target_include_directories(point_cloud_common_test PRIVATE test)
Expand All @@ -611,7 +632,7 @@ if(BUILD_TESTING)

ament_add_gmock(point_cloud_scalar_display_test
test/rviz_default_plugins/displays/pointcloud/point_cloud_scalar_display_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET point_cloud_scalar_display_test)
target_include_directories(point_cloud_scalar_display_test PRIVATE test)
Expand All @@ -630,7 +651,7 @@ if(BUILD_TESTING)
test/rviz_default_plugins/displays/pointcloud/point_cloud_transformers/rgb8_pc_transformer_test.cpp
test/rviz_default_plugins/displays/pointcloud/point_cloud_transformers/rgbf32_pc_transformer_test.cpp
test/rviz_default_plugins/displays/pointcloud/point_cloud_transformers/xyz_pc_transformer_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET point_cloud_transformers_test)
target_include_directories(point_cloud_transformers_test PRIVATE test)
Expand All @@ -645,7 +666,7 @@ if(BUILD_TESTING)

ament_add_gmock(point_display_test
test/rviz_default_plugins/displays/point/point_stamped_display_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET point_display_test)
target_include_directories(point_display_test PRIVATE test)
Expand All @@ -659,7 +680,7 @@ if(BUILD_TESTING)

ament_add_gmock(pose_array_display_test
test/rviz_default_plugins/displays/pose_array/pose_array_display_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET pose_array_display_test)
target_include_directories(pose_array_display_test PRIVATE test)
Expand All @@ -668,7 +689,7 @@ if(BUILD_TESTING)

ament_add_gmock(pose_tool_test
test/rviz_default_plugins/tools/pose/pose_tool_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET pose_tool_test)
target_include_directories(pose_tool_test PRIVATE test)
Expand All @@ -677,7 +698,7 @@ if(BUILD_TESTING)

ament_add_gmock(range_display_test
test/rviz_default_plugins/displays/range/range_display_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET range_display_test)
target_include_directories(range_display_test PRIVATE test)
Expand All @@ -686,7 +707,7 @@ if(BUILD_TESTING)

ament_add_gmock(robot_test
test/rviz_default_plugins/robot/robot_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET robot_test)
target_include_directories(robot_test PRIVATE test)
Expand All @@ -701,7 +722,7 @@ if(BUILD_TESTING)

ament_add_gmock(ros_image_texture_test
test/rviz_default_plugins/displays/image/ros_image_texture_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET ros_image_texture_test)
target_include_directories(ros_image_texture_test PRIVATE test)
Expand All @@ -715,7 +736,7 @@ if(BUILD_TESTING)

ament_add_gmock(selection_tool_test
test/rviz_default_plugins/tools/select/selection_tool_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET selection_tool_test)
target_include_directories(selection_tool_test PRIVATE test)
Expand All @@ -724,7 +745,7 @@ if(BUILD_TESTING)

ament_add_gmock(xy_orbit_view_controller_test
test/rviz_default_plugins/view_controllers/xy_orbit/xy_orbit_view_controller_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET xy_orbit_view_controller_test)
target_include_directories(xy_orbit_view_controller_test PRIVATE test)
Expand All @@ -738,7 +759,7 @@ if(BUILD_TESTING)

ament_add_gmock(frame_transformer_tf_test
test/rviz_default_plugins/transformation/frame_transformer_tf_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET frame_transformer_tf_test)
target_include_directories(frame_transformer_tf_test PRIVATE test)
Expand All @@ -753,7 +774,7 @@ if(BUILD_TESTING)

ament_add_gmock(transformer_guard_test
test/rviz_default_plugins/transformation/transformer_guard_test.cpp
${TEST_FIXTURE_SOURCES_WITH_MOCK}
${TEST_FIXTURE_OBJECTS}
${SKIP_DISPLAY_TESTS})
if(TARGET transformer_guard_test)
target_include_directories(transformer_guard_test PRIVATE test)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,9 @@
#include <memory>
#include <string>

#include <rclcpp/rclcpp.hpp>
#include <rclcpp/subscription.hpp>
#include <rclcpp/time.hpp>
#include <rclcpp/executors/single_threaded_executor.hpp>
#include <rviz_common/ros_topic_display.hpp>
#include <rviz_common/properties/bool_property.hpp>
#include <rviz_common/properties/int_property.hpp>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
#include "rviz_common/viewport_mouse_event.hpp"

#include "rviz_default_plugins/displays/marker/markers/marker_base.hpp"
#include "rviz_default_plugins/displays/marker/markers/points_marker.hpp"

namespace Ogre
{
Expand All @@ -77,6 +76,12 @@ namespace displays
{
class InteractiveMarker;

namespace markers
{
class PointsMarker;
class MarkerFactory;
}

/// A single control element of an InteractiveMarker.
class InteractiveMarkerControl
: public Ogre::SceneManager::Listener,
Expand Down Expand Up @@ -445,7 +450,7 @@ class InteractiveMarkerControl

std::string name_;

std::vector<markers::MarkerBase::SharedPtr> markers_;
std::vector<std::shared_ptr<markers::MarkerBase>> markers_;

InteractiveMarker * parent_;

Expand All @@ -456,7 +461,9 @@ class InteractiveMarkerControl
* regular highlighting method does not work for them.
* Keep a vector of them so we can call their setHighlightColor() function.
*/
std::vector<markers::PointsMarker::SharedPtr> points_markers_;
std::vector<std::shared_ptr<markers::PointsMarker>> points_markers_;

std::unique_ptr<markers::MarkerFactory> marker_factory_;

/// Stores the rotation around the x axis of the control.
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
#include <OgreVector.h>

#include "visualization_msgs/msg/marker.hpp"
#include "rclcpp/rclcpp.hpp"
#include "rclcpp/time.hpp"

#include "rviz_common/interaction/forwards.hpp"
#include "rviz_common/interactive_object.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@

//# include <message_filters/time_sequencer.h>

#include "pluginlib/class_loader.hpp"
#include "rclcpp/clock.hpp"
#include "rclcpp/time.hpp"

Expand All @@ -57,9 +56,6 @@
#include "rviz_common/properties/color_property.hpp"
#include "rviz_rendering/objects/point_cloud.hpp"

#include "point_cloud_transformer.hpp"
#include "point_cloud_selection_handler.hpp"

#include "rviz_default_plugins/displays/pointcloud/point_cloud_selection_handler.hpp"
#include "rviz_default_plugins/displays/pointcloud/point_cloud_transformer.hpp"
#include "rviz_default_plugins/displays/pointcloud/point_cloud_transformer_factory.hpp"
Expand Down
Loading