Program Listing for File IteratorsDemo.hpp

Return to documentation for file (/tmp/ws/src/grid_map/grid_map_demos/include/grid_map_demos/IteratorsDemo.hpp)

/*
 * IteratorsDemo.hpp
 *
 *  Created on: Nov 4, 2014
 *      Author: Péter Fankhauser
 *   Institute: ETH Zurich, ANYbotics
 *
 */

#ifndef GRID_MAP_DEMOS__ITERATORSDEMO_HPP_
#define GRID_MAP_DEMOS__ITERATORSDEMO_HPP_

#include <grid_map_ros/grid_map_ros.hpp>

// ROS
#include <rclcpp/rclcpp.hpp>
#include <geometry_msgs/msg/polygon_stamped.hpp>

namespace grid_map_demos
{

class IteratorsDemo : public rclcpp::Node
{
public:
  IteratorsDemo();

  virtual ~IteratorsDemo();

  void demoGridMapIterator();
  void demoSubmapIterator();
  void demoCircleIterator();
  void demoEllipseIterator();
  void demoSpiralIterator();
  void demoLineIterator();
  void demoPolygonIterator(const bool prepareForOtherDemos = false);
  void demoSlidingWindowIterator();

  void publish();

private:
  rclcpp::Publisher<grid_map_msgs::msg::GridMap>::SharedPtr gridMapPublisher_;

  rclcpp::Publisher<geometry_msgs::msg::PolygonStamped>::SharedPtr polygonPublisher_;

  grid_map::GridMap map_;
};

}  // namespace grid_map_demos
#endif  // GRID_MAP_DEMOS__ITERATORSDEMO_HPP_