NavMap
Loading...
Searching...
No Matches
conversions.cpp File Reference
#include "navmap_ros/conversions.hpp"
#include <algorithm>
#include <array>
#include <cmath>
#include <cassert>
#include <unordered_map>
#include <unordered_set>
#include <queue>
#include <limits>
#include <numeric>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
#include "geometry_msgs/msg/pose.hpp"
#include "std_msgs/msg/header.hpp"
#include "sensor_msgs/msg/point_cloud2.hpp"
#include "navmap_ros_interfaces/msg/nav_map.hpp"
#include "navmap_ros_interfaces/msg/nav_map_layer.hpp"
#include "navmap_ros_interfaces/msg/nav_map_link.hpp"
#include "nav_msgs/msg/occupancy_grid.hpp"
#include "Eigen/Eigenvalues"
#include "pcl_conversions/pcl_conversions.h"
#include "pcl/common/point_tests.h"
#include "pcl/point_cloud.h"
#include "pcl/point_types.h"
Include dependency graph for conversions.cpp:

Namespaces

namespace  navmap_ros
 Conversions between core NavMap and ROS-level structures.

Typedefs

using Triangle = Eigen::Vector3i

Functions

bool build_navmap_from_mesh (const pcl::PointCloud< pcl::PointXYZ > &cloud, const std::vector< Eigen::Vector3i > &triangles, const std::string &frame_id, navmap_ros_interfaces::msg::NavMap &out_msg, navmap::NavMap *out_core_opt)
pcl::PointCloud< pcl::PointXYZ > filter_with_viewpoints (const pcl::PointCloud< pcl::PointWithViewpoint > &input_points, const BuildParams &params, ViewpointFilterStats *stats=nullptr)
 Clean a cloud with the sensor position of each point (vp_x, vp_y, vp_z).
navmap::NavMap from_msg (const NavMap &msg)
navmap::NavMap from_msg (const NavMap &msg, std_msgs::msg::Header &header)
void from_msg (const navmap_ros_interfaces::msg::NavMapLayer &msg, navmap::NavMap &nm)
 Backward-compatible overload (ignores message header).
void from_msg (const navmap_ros_interfaces::msg::NavMapLayer &msg, navmap::NavMap &nm, std_msgs::msg::Header &header)
 Import a single NavMapLayer message into a NavMap.
navmap::NavMap from_occupancy_grid (const nav_msgs::msg::OccupancyGrid &grid)
 Backward-compatible overload (ignores grid header).
navmap::NavMap from_occupancy_grid (const nav_msgs::msg::OccupancyGrid &grid, std_msgs::msg::Header &header)
 Build a navmap::NavMap from a nav_msgs::msg::OccupancyGrid using a regular triangular surface with shared vertices.
navmap::NavMap from_pointcloud2 (const sensor_msgs::msg::PointCloud2 &pc2, navmap_ros_interfaces::msg::NavMap &out_msg, BuildParams params)
 Build a NavMap surface from a ROS sensor_msgs::msg::PointCloud2.
navmap::NavMap from_points (const pcl::PointCloud< pcl::PointWithViewpoint > &input_points, navmap_ros_interfaces::msg::NavMap &out_msg, BuildParams params)
 Build a NavMap from a cloud with the sensor position of each point.
navmap::NavMap from_points (const pcl::PointCloud< pcl::PointXYZ > &input_points, navmap_ros_interfaces::msg::NavMap &out_msg, BuildParams params)
 Build a NavMap from an unorganized point cloud (multi-level grid triangulation).
navmap::NavMap from_regular_grid (const pcl::PointCloud< pcl::PointXYZ > &grid_points, navmap_ros_interfaces::msg::NavMap &out_msg, BuildParams params)
 Build a NavMap surface from an organized (grid-shaped) PCL point cloud.
navmap_ros_interfaces::msg::NavMapLayer to_layer_update_msg (const navmap::NavMap &nm, const std::string &layer, const std_msgs::msg::Header &header=std_msgs::msg::Header(), float max_sparse_fraction=0.25f)
 Layer update with only what changed since the layer's last clear_changes().
navmap_ros_interfaces::msg::NavMap to_msg (const navmap::NavMap &nm)
 Backward-compatible overload (no header provided).
navmap_ros_interfaces::msg::NavMapLayer to_msg (const navmap::NavMap &nm, const std::string &layer)
 Backward-compatible overload (no header provided).
navmap_ros_interfaces::msg::NavMapLayer to_msg (const navmap::NavMap &nm, const std::string &layer, const std_msgs::msg::Header &header)
 Convert a single layer from a NavMap into a ROS message.
navmap_ros_interfaces::msg::NavMap to_msg (const navmap::NavMap &nm, const std_msgs::msg::Header &header)
 Convert a core navmap::NavMap into its compact ROS transport message.
nav_msgs::msg::OccupancyGrid to_occupancy_grid (const navmap::NavMap &nm)
 Backward-compatible overload.
nav_msgs::msg::OccupancyGrid to_occupancy_grid (const navmap::NavMap &nm, const std_msgs::msg::Header &header)
 Convert a navmap::NavMap back to nav_msgs::msg::OccupancyGrid.