30 #ifndef RVIZ_MARKER_BASE_H 31 #define RVIZ_MARKER_BASE_H 36 #include <visualization_msgs/Marker.h> 40 #include <boost/shared_ptr.hpp> 54 class MarkerSelectionHandler;
56 typedef std::pair<std::string, int32_t>
MarkerID;
62 typedef visualization_msgs::Marker
Marker;
69 void setMessage(
const Marker& message);
70 void setMessage(
const MarkerConstPtr& message);
73 void updateFrameLocked();
82 return MarkerID(message_->ns, message_->id);
87 ss << message_->ns <<
"/" << message_->id;
94 virtual void setPosition(
const Ogre::Vector3& position);
95 virtual void setOrientation(
const Ogre::Quaternion& orientation);
96 const Ogre::Vector3& getPosition();
97 const Ogre::Quaternion& getOrientation();
105 bool transform(
const MarkerConstPtr& message,
107 Ogre::Quaternion& orient,
108 Ogre::Vector3& scale);
109 virtual void onNewMessage(
const MarkerConstPtr& old_message,
const MarkerConstPtr& new_message) = 0;
111 void extractMaterials(Ogre::Entity* entity, S_MaterialPtr& materials);
Ogre::SceneNode * scene_node_
std::string getStringID()
virtual S_MaterialPtr getMaterials()
std::pair< std::string, int32_t > MarkerID
Pure-virtual base class for objects which give Display subclasses context in which to work...
boost::shared_ptr< MarkerSelectionHandler > handler_
DisplayContext * context_
visualization_msgs::Marker::ConstPtr MarkerConstPtr
boost::weak_ptr< InteractiveObject > InteractiveObjectWPtr
boost::shared_ptr< MarkerBase > MarkerBasePtr
std::set< Ogre::MaterialPtr > S_MaterialPtr
const MarkerConstPtr & getMessage() const
Displays "markers" sent in by other ROS nodes on the "visualization_marker" topic.
visualization_msgs::Marker Marker