From 5794bb166e862c866fb534bbf237673abe90d5a8 Mon Sep 17 00:00:00 2001 From: Tim Clephas Date: Thu, 12 Aug 2021 11:01:00 +0200 Subject: [PATCH 1/2] Add aggregator executable --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 06ee0373..50a01fe0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -399,6 +399,10 @@ add_executable(rtabmap_pointcloud_to_depthimage src/PointCloudToDepthImageNode.c target_link_libraries(rtabmap_pointcloud_to_depthimage ${Libraries}) set_target_properties(rtabmap_pointcloud_to_depthimage PROPERTIES OUTPUT_NAME "pointcloud_to_depthimage") +add_executable(rtabmap_point_cloud_aggregator src/PointCloudAggregatorNode.cpp) +target_link_libraries(rtabmap_point_cloud_aggregator ${Libraries}) +set_target_properties(rtabmap_point_cloud_aggregator PROPERTIES OUTPUT_NAME "rtabmap_point_cloud_aggregator") + add_executable(rtabmap_point_cloud_assembler src/PointCloudAssemblerNode.cpp) target_link_libraries(rtabmap_point_cloud_assembler ${Libraries}) set_target_properties(rtabmap_point_cloud_assembler PROPERTIES OUTPUT_NAME "point_cloud_assembler") From d8c71cdc3de50f3f1f025c2ec9b48fe81fb866be Mon Sep 17 00:00:00 2001 From: Tim Clephas Date: Thu, 12 Aug 2021 11:11:23 +0200 Subject: [PATCH 2/2] Add actual executable that loads the aggregator --- src/PointCloudAggregatorNode.cpp | 42 ++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/PointCloudAggregatorNode.cpp diff --git a/src/PointCloudAggregatorNode.cpp b/src/PointCloudAggregatorNode.cpp new file mode 100644 index 00000000..2ec77a37 --- /dev/null +++ b/src/PointCloudAggregatorNode.cpp @@ -0,0 +1,42 @@ +/* +Copyright (c) 2010-2016, Mathieu Labbe - IntRoLab - Universite de Sherbrooke +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Universite de Sherbrooke nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include "ros/ros.h" +#include "nodelet/loader.h" + +int main(int argc, char **argv) +{ + ros::init(argc, argv, "point_cloud_aggregator"); + + nodelet::Loader nodelet; + nodelet::V_string nargv; + nodelet::M_string remap(ros::names::getRemappings()); + std::string nodelet_name = ros::this_node::getName(); + nodelet.load(nodelet_name, "rtabmap_ros/point_cloud_aggregator", remap, nargv); + ros::spin(); + return 0; +}