Go to the documentation of this file.
30 #ifndef RVIZ_SELECTION_HANDLER_H
31 #define RVIZ_SELECTION_HANDLER_H
37 #include <boost/shared_ptr.hpp>
38 #include <boost/unordered_map.hpp>
40 #include <OgreMovableObject.h>
47 #include <rviz/rviz_export.h>
51 class WireBoundingBox;
62 typedef std::vector<Ogre::AxisAlignedBox>
V_AABB;
70 void addTrackedObjects(Ogre::SceneNode* node);
71 void addTrackedObject(Ogre::MovableObject*
object);
72 void removeTrackedObject(Ogre::MovableObject*
object);
74 virtual void updateTrackedBoxes();
94 virtual void destroyProperties(
const Picked& obj,
Property* parent_property);
114 virtual void preRenderPass(uint32_t pass);
115 virtual void postRenderPass(uint32_t pass);
117 virtual void getAABBs(
const Picked& obj,
V_AABB& aabbs);
119 virtual void onSelect(
const Picked& obj);
120 virtual void onDeselect(
const Picked& obj);
142 void createBox(
const std::pair<CollObjectHandle, uint64_t>& handles,
143 const Ogre::AxisAlignedBox& aabb,
144 const std::string& material_name);
147 void destroyBox(
const std::pair<CollObjectHandle, uint64_t>& handles);
151 typedef std::map<std::pair<CollObjectHandle, uint64_t>,
152 std::pair<Ogre::SceneNode*, Ogre::WireBoundingBox*> >
161 class Listener :
public Ogre::MovableObject::Listener
169 handler_->updateTrackedBoxes();
174 handler_->removeTrackedObject(
object);
void objectDestroyed(Ogre::MovableObject *object) override
std::map< std::pair< CollObjectHandle, uint64_t >, std::pair< Ogre::SceneNode *, Ogre::WireBoundingBox * > > M_HandleToBox
void objectMoved(Ogre::MovableObject *) override
boost::shared_ptr< Listener > ListenerPtr
boost::shared_ptr< SelectionHandler > SelectionHandlerPtr
CollObjectHandle getHandle() const
std::set< Ogre::MovableObject * > S_Movable
S_Movable tracked_objects_
uint32_t CollObjectHandle
A single element of a property tree, with a name, value, description, and possibly children.
CollObjectHandle pick_handle_
DisplayContext * context_
virtual void createProperties(const Picked &, Property *)
Override to create properties of the given picked object(s).
virtual void updateProperties()
Override to update property values.
Pure-virtual base class for objects which give Display subclasses context in which to work.
InteractiveObjectWPtr interactive_object_
virtual bool needsAdditionalRenderPass(uint32_t)
Listener(SelectionHandler *handler)
std::set< SelectionHandlerPtr > S_SelectionHandler
std::vector< Ogre::AxisAlignedBox > V_AABB
QList< Property * > properties_
std::vector< SelectionHandlerPtr > V_SelectionHandler
SelectionHandler * handler_
boost::weak_ptr< InteractiveObject > InteractiveObjectWPtr
rviz
Author(s): Dave Hershberger, David Gossow, Josh Faust, William Woodall
autogenerated on Fri Dec 13 2024 03:31:02