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();
75 const MarkerConstPtr&
getMessage()
const {
return message_; }
81 ss << message_->ns <<
"/" << message_->id;
88 virtual void setPosition(
const Ogre::Vector3& position );
89 virtual void setOrientation(
const Ogre::Quaternion& orientation );
90 const Ogre::Vector3& getPosition();
91 const Ogre::Quaternion& getOrientation();
96 bool transform(
const MarkerConstPtr& message, Ogre::Vector3& pos, Ogre::Quaternion& orient, Ogre::Vector3& scale);
97 virtual void onNewMessage(
const MarkerConstPtr& old_message,
const MarkerConstPtr& new_message) = 0;
99 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_
TFSIMD_FORCE_INLINE Vector3()
DisplayContext * context_
visualization_msgs::Marker::ConstPtr MarkerConstPtr
const MarkerConstPtr & getMessage() const
boost::weak_ptr< InteractiveObject > InteractiveObjectWPtr
boost::shared_ptr< MarkerBase > MarkerBasePtr
std::set< Ogre::MaterialPtr > S_MaterialPtr
Displays "markers" sent in by other ROS nodes on the "visualization_marker" topic.
visualization_msgs::Marker Marker