00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef COIN_SOHANDLEEVENTACTION_H
00021 #define COIN_SOHANDLEEVENTACTION_H
00022
00023 #include <Inventor/actions/SoAction.h>
00024 #include <Inventor/actions/SoSubAction.h>
00025
00026 class SbViewportRegion;
00027 class SoEvent;
00028 class SoPickedPoint;
00029 class SoPickedPointList;
00030
00031
00032 class COIN_DLL_API SoHandleEventAction : public SoAction {
00033 typedef SoAction inherited;
00034
00035 SO_ACTION_HEADER(SoHandleEventAction);
00036
00037 public:
00038 SoHandleEventAction(const SbViewportRegion & viewportregion);
00039 virtual ~SoHandleEventAction();
00040 static void initClass(void);
00041
00042 void setViewportRegion(const SbViewportRegion & newregion);
00043 const SbViewportRegion & getViewportRegion(void) const;
00044 void setEvent(const SoEvent * ev);
00045 const SoEvent * getEvent(void) const;
00046 void setHandled(void);
00047 SbBool isHandled(void) const;
00048 void setGrabber(SoNode * node);
00049 void releaseGrabber(void);
00050 SoNode * getGrabber(void) const;
00051 void setPickRoot(SoNode * node);
00052 SoNode * getPickRoot(void) const;
00053 void setPickRadius(const float radiusinpixels);
00054 const SoPickedPoint * getPickedPoint(void);
00055 const SoPickedPointList & getPickedPointList(void);
00056
00057 protected:
00058 virtual void beginTraversal(SoNode * node);
00059
00060 private:
00061 class SoHandleEventActionP * pimpl;
00062 };
00063
00064 #endif // !COIN_SOHANDLEEVENTACTION_H