30 #ifndef RVIZ_MAP_DISPLAY_H 31 #define RVIZ_MAP_DISPLAY_H 34 #include <boost/thread/thread.hpp> 36 #include <OgreTexture.h> 37 #include <OgreMaterial.h> 38 #include <OgreVector3.h> 39 #include <OgreSharedPtr.h> 42 #include <nav_msgs/MapMetaData.h> 45 #include <nav_msgs/OccupancyGrid.h> 46 #include <map_msgs/OccupancyGridUpdate.h> 62 class QuaternionProperty;
63 class RosTopicProperty;
73 Swatch(
MapDisplay* parent,
unsigned int x,
unsigned int y,
unsigned int width,
unsigned int height,
float resolution);
75 void updateAlpha(
const Ogre::SceneBlendType sceneBlending,
bool depthWrite,
AlphaSetter* alpha_setter);
84 unsigned int x_,
y_,width_,height_;
101 virtual void onInitialize();
102 virtual void fixedFrameChanged();
103 virtual void reset();
109 virtual void setTopic(
const QString &topic,
const QString &datatype );
118 void updateDrawUnder();
119 void updatePalette();
126 virtual void onEnable();
127 virtual void onDisable();
131 virtual void update(
float wall_dt,
float ros_dt );
134 void incomingMap(
const nav_msgs::OccupancyGrid::ConstPtr& msg);
137 void incomingUpdate(
const map_msgs::OccupancyGridUpdate::ConstPtr& update);
141 void createSwatches();
Ogre::ManualObject * manual_object_
std::vector< Ogre::TexturePtr > palette_textures_
QuaternionProperty * orientation_property_
std::vector< bool > color_scheme_transparency_
Ogre::TexturePtr texture_
A single element of a property tree, with a name, value, description, and possibly children...
FloatProperty * alpha_property_
Ogre::MaterialPtr material_
Property specialized to enforce floating point max/min.
Property specialized to provide max/min enforcement for integers.
ros::Subscriber update_sub_
VectorProperty * position_property_
FloatProperty * resolution_property_
void update(const std::string &key, const XmlRpc::XmlRpcValue &v)
std::vector< Swatch * > swatches
EnumProperty * color_scheme_property_
Displays a map along the XY plane.
RosTopicProperty * topic_property_
IntProperty * height_property_
Property * draw_under_property_
BoolProperty * unreliable_property_
BoolProperty * transform_timestamp_property_
Property specialized to provide getter for booleans.
Ogre::SceneNode * scene_node_
IntProperty * width_property_
nav_msgs::OccupancyGrid current_map_