9 #ifndef PICKINGHANDLER_H
10 #define PICKINGHANDLER_H
12 #include <osgGA/GUIEventHandler>
13 #include <osg/ref_ptr>
14 #include <osgViewer/Viewer>
15 #include <osgText/Text>
29 virtual void onMouseOver(
const osgGA::GUIEventAdapter* ea, osg::Node* ) = 0;
30 virtual void onMouseEnter(
const osgGA::GUIEventAdapter* ea, osg::Node* ) = 0;
31 virtual void onMouseLeave(
const osgGA::GUIEventAdapter* ea ) = 0;
37 void setToolTip( std::string text ) {
if( _toolTipNode.valid() ) _toolTipNode->setText(text); }
38 void setToolTipPosition(
float x,
float y,
float z ) {
if( _toolTipNode.valid() ) _toolTipNode->setPosition( osg::Vec3(x,y,z) ); }
43 osg::ref_ptr<osgText::Text> _toolTipNode;
46 void setToolTipNode( osgText::Text* node ) { _toolTipNode = node; }
51 virtual bool handle(
const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa );
59 void pick( osgViewer::Viewer* viewer,
const osgGA::GUIEventAdapter& ea );
63 void setRoot( osg::Node* root ) { _root = root; }
66 bool pickPickable(
const osg::NodePath& path );
68 Pickable* m_lastPicked;
71 osg::ref_ptr<const osgGA::GUIEventAdapter> _ea;
73 osg::ref_ptr<osgText::Text> _toolTipNode;
75 osg::ref_ptr<osg::Node> _root;
Definition: PickingHandler.h:18
virtual void onMouseLeave(const osgGA::GUIEventAdapter *ea)=0
PickingHandler()
Definition: PickingHandler.h:49
virtual bool isPickable(osg::Node *)
Definition: PickingHandler.h:33
virtual void onMouseOver(const osgGA::GUIEventAdapter *ea, osg::Node *)=0
void setToolTipPosition(float x, float y, float z)
Definition: PickingHandler.h:38
void setRoot(osg::Node *root)
Definition: PickingHandler.h:63
osgText::Text * getToolTipNode()
Definition: PickingHandler.h:57
bool isEnabled() const
Definition: PickingHandler.h:54
void setEnabled(bool enable)
Definition: PickingHandler.h:53
virtual void onMouseEnter(const osgGA::GUIEventAdapter *ea, osg::Node *)=0
virtual bool handle(const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &aa)
Definition: PickingHandler.cpp:30
Definition: PickingHandler.h:21
void pick(osgViewer::Viewer *viewer, const osgGA::GUIEventAdapter &ea)
Definition: PickingHandler.cpp:48
void setToolTipNode(osgText::Text *node)
Definition: PickingHandler.h:56
void setToolTip(std::string text)
This may be used for showing a tooltip.
Definition: PickingHandler.h:37
Pickable()
Definition: PickingHandler.h:26
virtual ~Pickable()
Definition: PickingHandler.h:27