diff --git a/rviz_default_plugins/CMakeLists.txt b/rviz_default_plugins/CMakeLists.txt index 868184054..78feddbda 100644 --- a/rviz_default_plugins/CMakeLists.txt +++ b/rviz_default_plugins/CMakeLists.txt @@ -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) @@ -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 $) set(TEST_FIXTURE_WITH_MOCK_LIBRARIES rclcpp::rclcpp @@ -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}) @@ -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}) @@ -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) @@ -410,7 +431,7 @@ 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) @@ -418,7 +439,7 @@ if(BUILD_TESTING) 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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) diff --git a/rviz_default_plugins/include/rviz_default_plugins/displays/effort/effort_display.hpp b/rviz_default_plugins/include/rviz_default_plugins/displays/effort/effort_display.hpp index c5910e367..93513fcc1 100644 --- a/rviz_default_plugins/include/rviz_default_plugins/displays/effort/effort_display.hpp +++ b/rviz_default_plugins/include/rviz_default_plugins/displays/effort/effort_display.hpp @@ -37,7 +37,9 @@ #include #include -#include +#include +#include +#include #include #include #include diff --git a/rviz_default_plugins/include/rviz_default_plugins/displays/interactive_markers/interactive_marker_control.hpp b/rviz_default_plugins/include/rviz_default_plugins/displays/interactive_markers/interactive_marker_control.hpp index e46d9cf9d..849960070 100644 --- a/rviz_default_plugins/include/rviz_default_plugins/displays/interactive_markers/interactive_marker_control.hpp +++ b/rviz_default_plugins/include/rviz_default_plugins/displays/interactive_markers/interactive_marker_control.hpp @@ -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 { @@ -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, @@ -445,7 +450,7 @@ class InteractiveMarkerControl std::string name_; - std::vector markers_; + std::vector> markers_; InteractiveMarker * parent_; @@ -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 points_markers_; + std::vector> points_markers_; + + std::unique_ptr marker_factory_; /// Stores the rotation around the x axis of the control. /** diff --git a/rviz_default_plugins/include/rviz_default_plugins/displays/marker/markers/marker_base.hpp b/rviz_default_plugins/include/rviz_default_plugins/displays/marker/markers/marker_base.hpp index 12b765cd0..55472fc10 100644 --- a/rviz_default_plugins/include/rviz_default_plugins/displays/marker/markers/marker_base.hpp +++ b/rviz_default_plugins/include/rviz_default_plugins/displays/marker/markers/marker_base.hpp @@ -40,7 +40,7 @@ #include #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" diff --git a/rviz_default_plugins/include/rviz_default_plugins/displays/pointcloud/point_cloud_common.hpp b/rviz_default_plugins/include/rviz_default_plugins/displays/pointcloud/point_cloud_common.hpp index 0a739e215..776abd427 100644 --- a/rviz_default_plugins/include/rviz_default_plugins/displays/pointcloud/point_cloud_common.hpp +++ b/rviz_default_plugins/include/rviz_default_plugins/displays/pointcloud/point_cloud_common.hpp @@ -45,7 +45,6 @@ //# include -#include "pluginlib/class_loader.hpp" #include "rclcpp/clock.hpp" #include "rclcpp/time.hpp" @@ -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" diff --git a/rviz_default_plugins/include/rviz_default_plugins/robot/robot_link.hpp b/rviz_default_plugins/include/rviz_default_plugins/robot/robot_link.hpp index 8733e4b05..c34015c62 100644 --- a/rviz_default_plugins/include/rviz_default_plugins/robot/robot_link.hpp +++ b/rviz_default_plugins/include/rviz_default_plugins/robot/robot_link.hpp @@ -49,10 +49,6 @@ #include -#include - -#include // can be replaced later by urdf_model/types.h - #include "resource_retriever/retriever.hpp" #include "rviz_common/interaction/forwards.hpp" #include "rviz_rendering/objects/object.hpp" @@ -60,6 +56,19 @@ #include "rviz_default_plugins/robot/robot_element_base_class.hpp" #include "rviz_default_plugins/visibility_control.hpp" +namespace urdf +{ +class Link; +class Geometry; +class Pose; +class Visual; +class Collision; +typedef std::shared_ptr LinkSharedPtr; +typedef std::shared_ptr LinkConstSharedPtr; +typedef std::shared_ptr VisualSharedPtr; +typedef std::shared_ptr CollisionSharedPtr; +} // namespace urdf + namespace Ogre { class SceneManager; @@ -207,30 +216,7 @@ private Q_SLOTS: std::vector & meshes_vector, const std::vector & visualizables_array, const T & visualizable_element, - Ogre::SceneNode * scene_node) - { - bool valid_visualizable_found = false; - - for (const auto & vector_element : visualizables_array) { - T link_visual_element = vector_element; - if (link_visual_element && link_visual_element->geometry) { - Ogre::Entity * mesh = createEntityForGeometryElement( - link, *link_visual_element->geometry, link_visual_element->origin, "", scene_node); - if (mesh) { - meshes_vector.push_back(mesh); - valid_visualizable_found = true; - } - } - } - - if (!valid_visualizable_found && visualizable_element && visualizable_element->geometry) { - Ogre::Entity * mesh = createEntityForGeometryElement( - link, *visualizable_element->geometry, visualizable_element->origin, "", scene_node); - if (mesh) { - meshes_vector.push_back(mesh); - } - } - } + Ogre::SceneNode * scene_node); protected: Ogre::SceneManager * scene_manager_; diff --git a/rviz_default_plugins/include/rviz_default_plugins/tools/point/point_tool.hpp b/rviz_default_plugins/include/rviz_default_plugins/tools/point/point_tool.hpp index 248a4721e..00dd6a5d7 100644 --- a/rviz_default_plugins/include/rviz_default_plugins/tools/point/point_tool.hpp +++ b/rviz_default_plugins/include/rviz_default_plugins/tools/point/point_tool.hpp @@ -37,7 +37,8 @@ #include // NOLINT cpplint cannot handle the include order here #include "geometry_msgs/msg/point_stamped.hpp" -#include "rclcpp/rclcpp.hpp" +#include "rclcpp/publisher.hpp" +#include "rclcpp/clock.hpp" #include "rclcpp/qos.hpp" #include "rviz_common/tool.hpp" diff --git a/rviz_default_plugins/src/rviz_default_plugins/displays/interactive_markers/interactive_marker.cpp b/rviz_default_plugins/src/rviz_default_plugins/displays/interactive_markers/interactive_marker.cpp index 958dc49c6..afb2865b1 100644 --- a/rviz_default_plugins/src/rviz_default_plugins/displays/interactive_markers/interactive_marker.cpp +++ b/rviz_default_plugins/src/rviz_default_plugins/displays/interactive_markers/interactive_marker.cpp @@ -49,7 +49,7 @@ #include "interactive_markers/tools.hpp" -#include "rclcpp/rclcpp.hpp" +#include "rclcpp/time.hpp" #include "rviz_common/display_context.hpp" #include "rviz_common/interaction/view_picker_iface.hpp" diff --git a/rviz_default_plugins/src/rviz_default_plugins/displays/interactive_markers/interactive_marker_control.cpp b/rviz_default_plugins/src/rviz_default_plugins/displays/interactive_markers/interactive_marker_control.cpp index 233d270dc..38e536f19 100644 --- a/rviz_default_plugins/src/rviz_default_plugins/displays/interactive_markers/interactive_marker_control.cpp +++ b/rviz_default_plugins/src/rviz_default_plugins/displays/interactive_markers/interactive_marker_control.cpp @@ -58,15 +58,8 @@ #include "rviz_rendering/objects/line.hpp" #include "rviz_rendering/render_window.hpp" -#include "rviz_default_plugins/displays/marker/markers/shape_marker.hpp" -#include "rviz_default_plugins/displays/marker/markers/arrow_marker.hpp" -#include "rviz_default_plugins/displays/marker/markers/line_list_marker.hpp" -#include "rviz_default_plugins/displays/marker/markers/line_strip_marker.hpp" +#include "rviz_default_plugins/displays/marker/markers/marker_factory.hpp" #include "rviz_default_plugins/displays/marker/markers/points_marker.hpp" -#include "rviz_default_plugins/displays/marker/markers/text_view_facing_marker.hpp" -#include "rviz_default_plugins/displays/marker/markers/mesh_resource_marker.hpp" -#include "rviz_default_plugins/displays/marker/markers/triangle_list_marker.hpp" -#include "rviz_default_plugins/displays/marker/markers/marker_base.hpp" #include "rviz_default_plugins/displays/interactive_markers/interactive_marker.hpp" #include "rviz_default_plugins/displays/interactive_markers/interactive_marker_control.hpp" @@ -101,6 +94,9 @@ InteractiveMarkerControl::InteractiveMarkerControl( show_visual_aids_(false), line_(new rviz_rendering::Line(context->getSceneManager(), control_frame_node_)) { + marker_factory_ = std::make_unique(); + marker_factory_->initialize(nullptr, context_, markers_node_); + line_->setVisible(false); } @@ -108,63 +104,14 @@ void InteractiveMarkerControl::makeMarkers( const visualization_msgs::msg::InteractiveMarkerControl & message) { for (const auto & message_marker : message.markers) { - markers::MarkerBase::SharedPtr marker; - - // create a marker with the given type - switch (message_marker.type) { - case visualization_msgs::msg::Marker::CUBE: - case visualization_msgs::msg::Marker::CYLINDER: - case visualization_msgs::msg::Marker::SPHERE: - { - marker.reset(new markers::ShapeMarker(nullptr, context_, markers_node_)); - } - break; - - case visualization_msgs::msg::Marker::ARROW: - { - marker.reset(new markers::ArrowMarker(nullptr, context_, markers_node_)); - } - break; - - case visualization_msgs::msg::Marker::LINE_STRIP: - { - marker.reset(new markers::LineStripMarker(nullptr, context_, markers_node_)); - } - break; - case visualization_msgs::msg::Marker::LINE_LIST: - { - marker.reset(new markers::LineListMarker(nullptr, context_, markers_node_)); - } - break; - case visualization_msgs::msg::Marker::SPHERE_LIST: - case visualization_msgs::msg::Marker::CUBE_LIST: - case visualization_msgs::msg::Marker::POINTS: - { - auto points_marker = std::make_shared( - nullptr, context_, markers_node_); - points_markers_.push_back(points_marker); - marker = points_marker; - } - break; - case visualization_msgs::msg::Marker::TEXT_VIEW_FACING: - { - marker.reset(new markers::TextViewFacingMarker(nullptr, context_, markers_node_)); - } - break; - case visualization_msgs::msg::Marker::MESH_RESOURCE: - { - marker.reset(new markers::MeshResourceMarker(nullptr, context_, markers_node_)); - } - break; + auto marker = marker_factory_->createMarkerForType(message_marker.type); + if (!marker) { + continue; + } - case visualization_msgs::msg::Marker::TRIANGLE_LIST: - { - marker.reset(new markers::TriangleListMarker(nullptr, context_, markers_node_)); - } - break; - default: - RVIZ_COMMON_LOG_ERROR_STREAM("Unknown marker type: " << message_marker.type); - break; + auto points_marker = std::dynamic_pointer_cast(marker); + if (points_marker) { + points_markers_.push_back(points_marker); } auto marker_msg = std::make_shared(message_marker); diff --git a/rviz_default_plugins/src/rviz_default_plugins/displays/marker/markers/marker_base.cpp b/rviz_default_plugins/src/rviz_default_plugins/displays/marker/markers/marker_base.cpp index 555ddd0f3..660a24848 100644 --- a/rviz_default_plugins/src/rviz_default_plugins/displays/marker/markers/marker_base.cpp +++ b/rviz_default_plugins/src/rviz_default_plugins/displays/marker/markers/marker_base.cpp @@ -40,7 +40,7 @@ #include #include -#include "rclcpp/rclcpp.hpp" +#include "rclcpp/time.hpp" #include "rviz_common/display_context.hpp" #include "rviz_common/frame_manager_iface.hpp" diff --git a/rviz_default_plugins/src/rviz_default_plugins/robot/robot_link.cpp b/rviz_default_plugins/src/rviz_default_plugins/robot/robot_link.cpp index f84d4b306..036b1f6c2 100644 --- a/rviz_default_plugins/src/rviz_default_plugins/robot/robot_link.cpp +++ b/rviz_default_plugins/src/rviz_default_plugins/robot/robot_link.cpp @@ -31,6 +31,9 @@ #include "rviz_default_plugins/robot/robot_link.hpp" +#include +#include + #define _USE_MATH_DEFINES #include #include @@ -934,5 +937,50 @@ void RobotLink::createSelection() } } +template +void RobotLink::createVisualizable( + const urdf::LinkConstSharedPtr & link, + std::vector & meshes_vector, + const std::vector & visualizables_array, + const T & visualizable_element, + Ogre::SceneNode * scene_node) +{ + bool valid_visualizable_found = false; + + for (const auto & vector_element : visualizables_array) { + T link_visual_element = vector_element; + if (link_visual_element && link_visual_element->geometry) { + Ogre::Entity * mesh = createEntityForGeometryElement( + link, *link_visual_element->geometry, link_visual_element->origin, "", scene_node); + if (mesh) { + meshes_vector.push_back(mesh); + valid_visualizable_found = true; + } + } + } + + if (!valid_visualizable_found && visualizable_element && visualizable_element->geometry) { + Ogre::Entity * mesh = createEntityForGeometryElement( + link, *visualizable_element->geometry, visualizable_element->origin, "", scene_node); + if (mesh) { + meshes_vector.push_back(mesh); + } + } +} + +template void RobotLink::createVisualizable( + const urdf::LinkConstSharedPtr & link, + std::vector & meshes_vector, + const std::vector & visualizables_array, + const urdf::VisualSharedPtr & visualizable_element, + Ogre::SceneNode * scene_node); + +template void RobotLink::createVisualizable( + const urdf::LinkConstSharedPtr & link, + std::vector & meshes_vector, + const std::vector & visualizables_array, + const urdf::CollisionSharedPtr & visualizable_element, + Ogre::SceneNode * scene_node); + } // namespace robot } // namespace rviz_default_plugins diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/accel/accel_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/accel/accel_display_visual_test.cpp index ff729113f..daea1e65a 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/accel/accel_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/accel/accel_display_visual_test.cpp @@ -36,6 +36,7 @@ #include "../../page_objects/accel_display_page_object.hpp" #include "../../publishers/accel_publisher.hpp" +namespace accel_display_visual_test { TEST_F(VisualTestFixture, accels_are_displayed) { auto accel_publisher = std::make_shared(); @@ -60,3 +61,4 @@ TEST_F(VisualTestFixture, accels_are_displayed) { assertScreenShotsIdentity(); } +} // namespace accel_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/axes/axes_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/axes/axes_display_visual_test.cpp index c1c0f056c..5d217bd8a 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/axes/axes_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/axes/axes_display_visual_test.cpp @@ -35,6 +35,7 @@ #include "rviz_visual_testing_framework/visual_test_publisher.hpp" #include "../../page_objects/axes_display_page_object.hpp" +namespace axes_display_visual_test { TEST_F(VisualTestFixture, axes_display_visual_test) { // we need tf data to display axes - this can be achieved via a dummy publisher @@ -51,3 +52,4 @@ TEST_F(VisualTestFixture, axes_display_visual_test) { assertMainWindowIdentity(); } +} // namespace axes_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/camera/camera_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/camera/camera_display_visual_test.cpp index c3993dc6f..15760a598 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/camera/camera_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/camera/camera_display_visual_test.cpp @@ -40,6 +40,7 @@ #include "../../publishers/image_publisher.hpp" #include "../../page_objects/point_cloud_common_page_object.hpp" #include "../../publishers/point_cloud_publisher.hpp" +namespace camera_display_visual_test { class PointCloudDisplayPageObject : public PointCloudCommonPageObject @@ -76,3 +77,4 @@ TEST_F(VisualTestFixture, test_camera_display_with_published_image) { assertScreenShotsIdentity(); } +} // namespace camera_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/camera_info/camera_info_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/camera_info/camera_info_display_visual_test.cpp index 23f1afb29..89c860500 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/camera_info/camera_info_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/camera_info/camera_info_display_visual_test.cpp @@ -38,6 +38,7 @@ #include "../../publishers/camera_info_publisher.hpp" #include "../../page_objects/camera_info_display_page_object.hpp" +namespace camera_info_display_visual_test { TEST_F(VisualTestFixture, camera_info_displayed) { std::vector publishers = { @@ -56,3 +57,4 @@ TEST_F(VisualTestFixture, camera_info_displayed) { assertScreenShotsIdentity(); } +} // namespace camera_info_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/depth_cloud/depth_cloud_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/depth_cloud/depth_cloud_display_visual_test.cpp index 22b4823a9..8fa1bd66b 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/depth_cloud/depth_cloud_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/depth_cloud/depth_cloud_display_visual_test.cpp @@ -38,6 +38,7 @@ #include "../../publishers/camera_info_publisher.hpp" #include "../../publishers/image_publisher.hpp" #include "../../page_objects/depth_cloud_page_object.hpp" +namespace depth_cloud_display_visual_test { TEST_F(VisualTestFixture, test_depth_cloud_display_with_published_image) { std::vector publishers = { @@ -66,3 +67,4 @@ TEST_F(VisualTestFixture, test_depth_cloud_display_with_published_image) { /// Compare test screenshots with the reference ones (if in TEST mode): assertScreenShotsIdentity(); } +} // namespace depth_cloud_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/effort/effort_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/effort/effort_display_visual_test.cpp index 5952632fa..5ee263513 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/effort/effort_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/effort/effort_display_visual_test.cpp @@ -36,6 +36,7 @@ #include "../../page_objects/effort_display_page_object.hpp" #include "../../publishers/effort_publisher.hpp" +namespace effort_display_visual_test { TEST_F(VisualTestFixture, wrenches_are_displayed) { auto effort_publisher = std::make_shared(); @@ -58,3 +59,4 @@ TEST_F(VisualTestFixture, wrenches_are_displayed) { assertScreenShotsIdentity(); } +} // namespace effort_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/fluid_pressure/fluid_pressure_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/fluid_pressure/fluid_pressure_display_visual_test.cpp index 2269c9ce7..6339c6de6 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/fluid_pressure/fluid_pressure_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/fluid_pressure/fluid_pressure_display_visual_test.cpp @@ -37,6 +37,7 @@ #include "../../page_objects/point_cloud_common_page_object.hpp" #include "../../publishers/fluid_pressure_publisher.hpp" +namespace fluid_pressure_display_visual_test { class FluidPressureDisplayPageObject : public PointCloudCommonPageObject @@ -73,3 +74,4 @@ TEST_F(VisualTestFixture, sphere_changes_color_depending_on_fluid_pressure) { captureMainWindow("fluid_pressure_display_high_fluid_pressure"); assertScreenShotsIdentity(); } +} // namespace fluid_pressure_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/grid/grid_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/grid/grid_display_visual_test.cpp index 2c3f3e3a8..0c1c25e0f 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/grid/grid_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/grid/grid_display_visual_test.cpp @@ -34,6 +34,7 @@ #include "rviz_visual_testing_framework/visual_test_fixture.hpp" #include "../../page_objects/grid_display_page_object.hpp" +namespace grid_display_visual_test { TEST_F(VisualTestFixture, grid_visual_test) { setCamPose(Ogre::Vector3(10, 0, 0)); @@ -51,3 +52,4 @@ TEST_F(VisualTestFixture, grid_visual_test) { assertScreenShotsIdentity(); } +} // namespace grid_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/grid_cells/grid_cells_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/grid_cells/grid_cells_display_visual_test.cpp index 80a5d2d36..d6ba064df 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/grid_cells/grid_cells_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/grid_cells/grid_cells_display_visual_test.cpp @@ -36,6 +36,7 @@ #include "../../page_objects/grid_cells_display_page_object.hpp" #include "../../publishers/grid_cells_publisher.hpp" +namespace grid_cells_display_visual_test { TEST_F(VisualTestFixture, grid_cells_display_visual_test) { auto grid_cells_publisher = std::make_unique( @@ -55,3 +56,4 @@ TEST_F(VisualTestFixture, grid_cells_display_visual_test) { assertScreenShotsIdentity(); } +} // namespace grid_cells_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/illuminance/illuminance_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/illuminance/illuminance_display_visual_test.cpp index ab8de5a61..55ad8a553 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/illuminance/illuminance_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/illuminance/illuminance_display_visual_test.cpp @@ -37,6 +37,7 @@ #include "../../page_objects/point_cloud_common_page_object.hpp" #include "../../publishers/illuminance_publisher.hpp" +namespace illuminance_display_visual_test { class IlluminanceDisplayPageObject : public PointCloudCommonPageObject @@ -73,3 +74,4 @@ TEST_F(VisualTestFixture, sphere_changes_color_depending_on_illuminance) { captureMainWindow("illuminance_display_high_illuminance"); assertScreenShotsIdentity(); } +} // namespace illuminance_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/image/image_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/image/image_display_visual_test.cpp index a2ef35fbb..49a85080d 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/image/image_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/image/image_display_visual_test.cpp @@ -36,6 +36,7 @@ #include "../../page_objects/image_display_page_object.hpp" #include "../../publishers/image_publisher.hpp" +namespace image_display_visual_test { TEST_F(VisualTestFixture, test_image_display_with_published_image) { auto path_publisher = std::make_unique( @@ -51,3 +52,4 @@ TEST_F(VisualTestFixture, test_image_display_with_published_image) { assertScreenShotsIdentity(); } +} // namespace image_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/laser_scan/laser_scan_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/laser_scan/laser_scan_display_visual_test.cpp index 01a7e35a0..b6ddebc1f 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/laser_scan/laser_scan_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/laser_scan/laser_scan_display_visual_test.cpp @@ -36,6 +36,7 @@ #include "../../page_objects/point_cloud_common_page_object.hpp" #include "../../publishers/laser_scan_publisher.hpp" +namespace laser_scan_display_visual_test { class LaserScanDisplayPageObject : public PointCloudCommonPageObject @@ -63,3 +64,4 @@ TEST_F(VisualTestFixture, laser_scan_display) { assertMainWindowIdentity(); } +} // namespace laser_scan_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/map/map_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/map/map_display_visual_test.cpp index 184b690da..8fcb79bab 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/map/map_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/map/map_display_visual_test.cpp @@ -39,6 +39,7 @@ #include "../../page_objects/marker_display_page_object.hpp" #include "../../publishers/map_publisher.hpp" #include "../../publishers/single_marker_publisher.hpp" +namespace map_display_visual_test { TEST_F(VisualTestFixture, test_map_display_with_large_map) { auto publishers = std::vector(); @@ -74,3 +75,4 @@ TEST_F(VisualTestFixture, test_map_display_with_large_map) { assertScreenShotsIdentity(); } +} // namespace map_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/marker/marker_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/marker/marker_display_visual_test.cpp index 5a090e6bf..3cd0d2226 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/marker/marker_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/marker/marker_display_visual_test.cpp @@ -37,6 +37,7 @@ #include "../../page_objects/marker_display_page_object.hpp" #include "../../publishers/marker_array_publisher.hpp" #include "../../publishers/marker_publisher.hpp" +namespace marker_display_visual_test { TEST_F(VisualTestFixture, test_marker_with_multiple_marker_types) { auto marker_publisher = std::make_unique( @@ -65,3 +66,4 @@ TEST_F(VisualTestFixture, test_marker_with_marker_array) { assertMainWindowIdentity(); } +} // namespace marker_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/marker_array/marker_array_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/marker_array/marker_array_display_visual_test.cpp index 9a0311fe6..d0940d43e 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/marker_array/marker_array_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/marker_array/marker_array_display_visual_test.cpp @@ -36,6 +36,7 @@ #include "../../page_objects/marker_array_display_page_object.hpp" #include "../../publishers/marker_array_publisher.hpp" +namespace marker_array_display_visual_test { TEST_F(VisualTestFixture, test_marker_array_with_three_marker_types) { auto marker_array_publisher = std::make_unique( @@ -50,3 +51,4 @@ TEST_F(VisualTestFixture, test_marker_array_with_three_marker_types) { assertMainWindowIdentity(); } +} // namespace marker_array_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/odometry/odometry_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/odometry/odometry_display_visual_test.cpp index c9a738bed..f448066a0 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/odometry/odometry_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/odometry/odometry_display_visual_test.cpp @@ -36,6 +36,7 @@ #include "../../page_objects/odometry_display_page_object.hpp" #include "../../publishers/odometry_publisher.hpp" +namespace odometry_display_visual_test { TEST_F(VisualTestFixture, test_odometry_display) { auto odometry = std::make_shared(); @@ -81,3 +82,4 @@ TEST_F(VisualTestFixture, test_odometry_display) { assertScreenShotsIdentity(); } +} // namespace odometry_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/path/path_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/path/path_display_visual_test.cpp index 96368242b..4f7293dab 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/path/path_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/path/path_display_visual_test.cpp @@ -36,6 +36,7 @@ #include "../../page_objects/path_display_page_object.hpp" #include "../../publishers/path_publisher.hpp" +namespace path_display_visual_test { TEST_F(VisualTestFixture, test_with_path) { auto path_publisher = std::make_unique( @@ -55,3 +56,4 @@ TEST_F(VisualTestFixture, test_with_path) { assertMainWindowIdentity(); } +} // namespace path_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/point/point_stamped_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/point/point_stamped_display_visual_test.cpp index c5babc950..d63b09931 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/point/point_stamped_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/point/point_stamped_display_visual_test.cpp @@ -36,6 +36,7 @@ #include "../../page_objects/point_display_page_object.hpp" #include "../../publishers/point_stamped_publisher.hpp" +namespace point_stamped_display_visual_test { TEST_F(VisualTestFixture, test_with_three_points) { auto point_publisher = std::make_unique( @@ -53,3 +54,4 @@ TEST_F(VisualTestFixture, test_with_three_points) { assertMainWindowIdentity(); } +} // namespace point_stamped_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/pointcloud/point_cloud2_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/pointcloud/point_cloud2_display_visual_test.cpp index 2ecb3c870..1930bcee4 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/pointcloud/point_cloud2_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/pointcloud/point_cloud2_display_visual_test.cpp @@ -35,6 +35,7 @@ #include "../../page_objects/point_cloud_common_page_object.hpp" #include "../../publishers/point_cloud2_publisher.hpp" +namespace point_cloud2_display_visual_test { class PointCloud2DisplayPageObject : public PointCloudCommonPageObject @@ -61,3 +62,4 @@ TEST_F(VisualTestFixture, pointcloud2_containing_one_big_point) { assertMainWindowIdentity(); } +} // namespace point_cloud2_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/pointcloud/point_cloud_common_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/pointcloud/point_cloud_common_test.cpp index 745c3551e..f6d3ceba8 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/pointcloud/point_cloud_common_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/pointcloud/point_cloud_common_test.cpp @@ -235,9 +235,3 @@ TEST_F( ASSERT_THAT(point_clouds.size(), Eq(0u)); } -int main(int argc, char ** argv) -{ - QApplication app(argc, argv); - InitGoogleMock(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/pointcloud/point_cloud_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/pointcloud/point_cloud_display_visual_test.cpp index 3ba24beee..61f456978 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/pointcloud/point_cloud_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/pointcloud/point_cloud_display_visual_test.cpp @@ -35,6 +35,7 @@ #include "../../page_objects/point_cloud_common_page_object.hpp" #include "../../publishers/point_cloud_publisher.hpp" +namespace point_cloud_display_visual_test { class PointCloudDisplayPageObject : public PointCloudCommonPageObject @@ -65,3 +66,4 @@ TEST_F(VisualTestFixture, pointcloud_containing_one_big_point) { /// Compare test screenshots with the reference ones (if in TEST mode): assertScreenShotsIdentity(); } +} // namespace point_cloud_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/pose/pose_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/pose/pose_display_visual_test.cpp index 1d1b86203..9125a6cca 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/pose/pose_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/pose/pose_display_visual_test.cpp @@ -36,6 +36,7 @@ #include "../../page_objects/pose_display_page_object.hpp" #include "../../publishers/pose_publisher.hpp" +namespace pose_display_visual_test { TEST_F(VisualTestFixture, pose_visual_test) { auto path_publisher = std::make_unique( @@ -62,3 +63,4 @@ TEST_F(VisualTestFixture, pose_visual_test) { assertScreenShotsIdentity(); } +} // namespace pose_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/pose_array/pose_array_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/pose_array/pose_array_display_visual_test.cpp index b3e0f668a..c203a3bd7 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/pose_array/pose_array_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/pose_array/pose_array_display_visual_test.cpp @@ -36,6 +36,7 @@ #include "../../page_objects/pose_array_display_page_object.hpp" #include "../../publishers/pose_array_publisher.hpp" +namespace pose_array_display_visual_test { TEST_F(VisualTestFixture, pose_array_visual_test) { auto path_publisher = std::make_unique( @@ -64,3 +65,4 @@ TEST_F(VisualTestFixture, pose_array_visual_test) { assertScreenShotsIdentity(); } +} // namespace pose_array_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/pose_covariance/pose_with_covariance_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/pose_covariance/pose_with_covariance_display_visual_test.cpp index 82fd54d2f..c9836f2e8 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/pose_covariance/pose_with_covariance_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/pose_covariance/pose_with_covariance_display_visual_test.cpp @@ -39,6 +39,7 @@ #include "../../page_objects/pose_with_covariance_display_page_object.hpp" #include "../../publishers/pose_with_covariance_publisher.hpp" +namespace pose_with_covariance_display_visual_test { TEST_F(VisualTestFixture, test_pose_with_covariance_display) { auto pose_with_covariance_publisher = std::make_unique( @@ -76,3 +77,4 @@ TEST_F(VisualTestFixture, test_pose_with_covariance_display) { assertScreenShotsIdentity(); } +} // namespace pose_with_covariance_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/range/range_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/range/range_display_visual_test.cpp index 63252ea04..a39801108 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/range/range_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/range/range_display_visual_test.cpp @@ -35,6 +35,7 @@ #include "../../page_objects/range_display_page_object.hpp" #include "../../publishers/range_publisher.hpp" +namespace range_display_visual_test { TEST_F(VisualTestFixture, range_display_visual_test) { auto range_publisher = std::make_unique( @@ -54,3 +55,4 @@ TEST_F(VisualTestFixture, range_display_visual_test) { assertScreenShotsIdentity(); } +} // namespace range_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/relative_humidity/relative_humidity_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/relative_humidity/relative_humidity_display_visual_test.cpp index 57785690b..835dd039a 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/relative_humidity/relative_humidity_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/relative_humidity/relative_humidity_display_visual_test.cpp @@ -37,6 +37,7 @@ #include "../../page_objects/point_cloud_common_page_object.hpp" #include "../../publishers/relative_humidity_publisher.hpp" +namespace relative_humidity_display_visual_test { class RelativeHumidityDisplayPageObject : public PointCloudCommonPageObject @@ -73,3 +74,4 @@ TEST_F(VisualTestFixture, sphere_changes_color_depending_on_relative_humidity) { captureMainWindow("relative_humidity_display_high_relative_humidity"); assertScreenShotsIdentity(); } +} // namespace relative_humidity_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/robot_model/robot_model_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/robot_model/robot_model_display_visual_test.cpp index 2f3982cc7..0318c4926 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/robot_model/robot_model_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/robot_model/robot_model_display_visual_test.cpp @@ -41,6 +41,7 @@ #include "rviz_visual_testing_framework/transform_publisher.hpp" #include "../../page_objects/robot_model_display_page_object.hpp" +namespace robot_model_display_visual_test { TEST_F(VisualTestFixture, robot_model_display_test) { std::vector transforms; @@ -72,3 +73,4 @@ TEST_F(VisualTestFixture, robot_model_display_test) { assertScreenShotsIdentity(); } +} // namespace robot_model_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/temperature/temperature_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/temperature/temperature_display_visual_test.cpp index 13888e6c6..fefef5f63 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/temperature/temperature_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/temperature/temperature_display_visual_test.cpp @@ -37,6 +37,7 @@ #include "../../page_objects/point_cloud_common_page_object.hpp" #include "../../publishers/temperature_publisher.hpp" +namespace temperature_display_visual_test { class TemperatureDisplayPageObject : public PointCloudCommonPageObject @@ -73,3 +74,4 @@ TEST_F(VisualTestFixture, sphere_changes_color_depending_on_temperature) { captureMainWindow("temperature_display_high_temperature"); assertScreenShotsIdentity(); } +} // namespace temperature_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/tf/tf_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/tf/tf_display_visual_test.cpp index e5bc812a8..2f7d83189 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/tf/tf_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/tf/tf_display_visual_test.cpp @@ -35,6 +35,7 @@ #include "rviz_visual_testing_framework/transform_publisher.hpp" #include "../../page_objects/tf_display_page_object.hpp" +namespace tf_display_visual_test { TEST_F(VisualTestFixture, tf_visual_test) { auto transform_publisher = std::make_unique("tf_frame", 1, 0, 0, 0, 0, 0); @@ -56,3 +57,4 @@ TEST_F(VisualTestFixture, tf_visual_test) { assertScreenShotsIdentity(); } +} // namespace tf_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/twist/twist_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/twist/twist_display_visual_test.cpp index 324c0e0a0..c7a511118 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/twist/twist_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/twist/twist_display_visual_test.cpp @@ -36,6 +36,7 @@ #include "../../page_objects/twist_display_page_object.hpp" #include "../../publishers/twist_publisher.hpp" +namespace twist_display_visual_test { TEST_F(VisualTestFixture, twists_are_displayed) { auto twist_publisher = std::make_shared(); @@ -60,3 +61,4 @@ TEST_F(VisualTestFixture, twists_are_displayed) { assertScreenShotsIdentity(); } +} // namespace twist_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/displays/wrench/wrench_stamped_display_visual_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/displays/wrench/wrench_stamped_display_visual_test.cpp index aa8f2173b..ed4b24e9d 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/displays/wrench/wrench_stamped_display_visual_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/displays/wrench/wrench_stamped_display_visual_test.cpp @@ -36,6 +36,7 @@ #include "../../page_objects/wrench_display_page_object.hpp" #include "../../publishers/wrench_publisher.hpp" +namespace wrench_stamped_display_visual_test { TEST_F(VisualTestFixture, wrenches_are_displayed) { auto wrench_publisher = std::make_shared(); @@ -60,3 +61,4 @@ TEST_F(VisualTestFixture, wrenches_are_displayed) { assertScreenShotsIdentity(); } +} // namespace wrench_stamped_display_visual_test diff --git a/rviz_default_plugins/test/rviz_default_plugins/view_controllers/fps/fps_view_controller_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/view_controllers/fps/fps_view_controller_test.cpp index 734141521..2447fb778 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/view_controllers/fps/fps_view_controller_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/view_controllers/fps/fps_view_controller_test.cpp @@ -215,9 +215,3 @@ TEST_F(FPSViewControllerTestFixture, mimic_does_not_change_view_when_given_any_v EXPECT_THAT(z_position->getValue().toFloat(), FloatNear(orbit_camera_position.z, 0.001f)); } -int main(int argc, char ** argv) -{ - QApplication app(argc, argv); - InitGoogleMock(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/rviz_default_plugins/test/rviz_default_plugins/view_controllers/frame/frame_view_controller_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/view_controllers/frame/frame_view_controller_test.cpp index 21da5dcc4..22f0c4012 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/view_controllers/frame/frame_view_controller_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/view_controllers/frame/frame_view_controller_test.cpp @@ -251,9 +251,3 @@ TEST_F(FrameViewControllerTestFixture, checkCameraLooksAlong(Ogre::Vector3(0, 0, -1)); } -int main(int argc, char ** argv) -{ - QApplication app(argc, argv); - InitGoogleMock(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/rviz_default_plugins/test/rviz_default_plugins/view_controllers/orbit/orbit_view_controller_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/view_controllers/orbit/orbit_view_controller_test.cpp index 3cc277868..300491bc4 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/view_controllers/orbit/orbit_view_controller_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/view_controllers/orbit/orbit_view_controller_test.cpp @@ -246,9 +246,3 @@ TEST_F(OrbitViewControllerTestFixture, mimic_does_not_move_camera_when_given_sam EXPECT_THAT(pitch_property->getValue().toFloat(), FloatNear(0.5f, 0.001f)); } -int main(int argc, char ** argv) -{ - QApplication app(argc, argv); - InitGoogleMock(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/rviz_default_plugins/test/rviz_default_plugins/view_controllers/ortho/ortho_view_controller_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/view_controllers/ortho/ortho_view_controller_test.cpp index 1d300b717..44c492e07 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/view_controllers/ortho/ortho_view_controller_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/view_controllers/ortho/ortho_view_controller_test.cpp @@ -201,9 +201,3 @@ TEST_F( EXPECT_THAT(y_property->getValue().toFloat(), FloatNear(0, 0.001f)); } -int main(int argc, char ** argv) -{ - QApplication app(argc, argv); - InitGoogleMock(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/rviz_default_plugins/test/rviz_default_plugins/view_controllers/xy_orbit/xy_orbit_view_controller_test.cpp b/rviz_default_plugins/test/rviz_default_plugins/view_controllers/xy_orbit/xy_orbit_view_controller_test.cpp index 7b2d50b2a..f7f7d350d 100644 --- a/rviz_default_plugins/test/rviz_default_plugins/view_controllers/xy_orbit/xy_orbit_view_controller_test.cpp +++ b/rviz_default_plugins/test/rviz_default_plugins/view_controllers/xy_orbit/xy_orbit_view_controller_test.cpp @@ -308,9 +308,3 @@ TEST_F( EXPECT_THAT(motion_magnitude, Le(1.1f)); } -int main(int argc, char ** argv) -{ - QApplication app(argc, argv); - InitGoogleMock(&argc, argv); - return RUN_ALL_TESTS(); -}