Program Listing for File GridMapVisualization.hpp
↰ Return to documentation for file (include/grid_map_visualization/GridMapVisualization.hpp
)
/*
* GridMapVisualization.hpp
*
* Created on: Nov 19, 2013
* Author: Péter Fankhauser
* Institute: ETH Zurich, ANYbotics
*
*/
#ifndef GRID_MAP_VISUALIZATION__GRIDMAPVISUALIZATION_HPP_
#define GRID_MAP_VISUALIZATION__GRIDMAPVISUALIZATION_HPP_
#include <grid_map_msgs/msg/grid_map.hpp>
#include <grid_map_visualization/visualizations/MapRegionVisualization.hpp>
#include <grid_map_visualization/visualizations/OccupancyGridVisualization.hpp>
#include <grid_map_visualization/visualizations/PointCloudVisualization.hpp>
#include <grid_map_visualization/visualizations/VectorVisualization.hpp>
#include <grid_map_visualization/visualizations/VisualizationFactory.hpp>
// ROS
#include <rclcpp/rclcpp.hpp>
// STD
#include <memory>
#include <string>
#include <vector>
namespace grid_map_visualization
{
class GridMapVisualization
{
public:
explicit GridMapVisualization(const std::string & parameterName);
virtual ~GridMapVisualization();
void callback(const grid_map_msgs::msg::GridMap::SharedPtr message);
rclcpp::Node::SharedPtr nodePtr;
private:
bool readParameters();
bool initialize();
void updateSubscriptionCallback();
std::string visualizationsParameter_;
rclcpp::Subscription<grid_map_msgs::msg::GridMap>::SharedPtr mapSubscriber_;
std::string mapTopic_;
std::vector<std::shared_ptr<VisualizationBase>> visualizations_;
std::shared_ptr<VisualizationFactory> factory_;
rclcpp::TimerBase::SharedPtr activityCheckTimer_;
double activityCheckRate_;
bool isSubscribed_;
bool isGridMapSubLatched_;
};
} // namespace grid_map_visualization
#endif // GRID_MAP_VISUALIZATION__GRIDMAPVISUALIZATION_HPP_