PlantWaypointTool.h
Go to the documentation of this file.
1 #ifndef PLANT_WAYPOINT_TOOL_H_
2 #define PLANT_WAYPOINT_TOOL_H_
3 
4 #include <rviz/tool.h>
7 #include <rviz/mesh_loader.h>
8 #include <rviz/geometry.h>
10 
11 #include <OGRE/OgreSceneNode.h>
12 #include <OGRE/OgreSceneManager.h>
13 #include <OGRE/OgreEntity.h>
14 #include <tf/transform_datatypes.h>
15 
16 #include <ros/ros.h>
18 
19 #include <rsm_msgs/AddWaypoint.h>
20 #include <rsm_msgs/GetWaypoints.h>
21 #include <rsm_msgs/RemoveWaypoint.h>
22 #include <rsm_msgs/WaypointVisited.h>
23 
24 namespace Ogre {
25 class SceneNode;
26 class Vector3;
27 }
28 
29 namespace rviz {
30 class VectorProperty;
31 class VisualizationManager;
32 class ViewportMouseEvent;
33 }
34 
35 namespace rsm {
36 
43 
44 public:
56  void onInitialize();
60  void activate();
64  void deactivate();
65 
71  int processMouseEvent(rviz::ViewportMouseEvent& event);
72 
77  void load(const rviz::Config& config);
82  void save(rviz::Config config) const;
83 
84 private:
90  void makeFlag(const Ogre::Vector3& position, double angle);
91 
92  std::vector<Ogre::SceneNode*> flag_nodes_;
93  Ogre::SceneNode* moving_flag_node_;
94  std::string flag_resource_;
96 
98 
99  enum State {
100  Moving, Position, Orientation
101  };
103  Ogre::Vector3 pos_;
104 };
105 
106 }
107 
108 #endif /* PLANT_WAYPOINT_TOOL_H_ */
Serves as a Tool plugin for RViz which enables planting waypoints on a desired location with an adjus...
rviz::VectorProperty * current_flag_property_
config
ros::ServiceClient _add_waypoint_client
TFSIMD_FORCE_INLINE Vector3()
Ogre::SceneNode * moving_flag_node_
std::vector< Ogre::SceneNode * > flag_nodes_


rsm_rviz_plugins
Author(s): Marco Steinbrink
autogenerated on Tue Mar 16 2021 02:44:40