Program Listing for File VectorVisualization.hpp

Return to documentation for file (/tmp/ws/src/grid_map/grid_map_visualization/include/grid_map_visualization/visualizations/VectorVisualization.hpp)

/*
 * VectorVisualization.hpp
 *
 *  Created on: Sep 16, 2014
 *      Author: Péter Fankhauser
 *   Institute: ETH Zurich, ANYbotics
 */

#ifndef GRID_MAP_VISUALIZATION__VISUALIZATIONS__VECTORVISUALIZATION_HPP_
#define GRID_MAP_VISUALIZATION__VISUALIZATIONS__VECTORVISUALIZATION_HPP_

#include <grid_map_core/GridMap.hpp>

// ROS
#include <rclcpp/rclcpp.hpp>
#include <visualization_msgs/msg/marker.hpp>
#include <std_msgs/msg/color_rgba.hpp>

// STD
#include <string>
#include <vector>

#include "grid_map_visualization/visualizations/VisualizationBase.hpp"

namespace grid_map_visualization
{

class VectorVisualization : public VisualizationBase
{
public:
  explicit VectorVisualization(const std::string & name, rclcpp::Node::SharedPtr nodePtr);

  virtual ~VectorVisualization();

  bool readParameters() override;

  bool initialize() override;

  bool visualize(const grid_map::GridMap & map) override;

private:
  visualization_msgs::msg::Marker marker_;

  std::vector<std::string> types_;

  std::string positionLayer_;

  double scale_;

  double lineWidth_;

  std_msgs::msg::ColorRGBA color_;

  rclcpp::Publisher<visualization_msgs::msg::Marker>::SharedPtr publisher_;
};

}  // namespace grid_map_visualization
#endif  // GRID_MAP_VISUALIZATION__VISUALIZATIONS__VECTORVISUALIZATION_HPP_