| | 220 | void setActivationModKeyMask(unsigned int mask) { _activationModKeyMask = mask; } |
| | 221 | unsigned int getActivationModKeyMask() const { return _activationModKeyMask; } |
| | 222 | |
| | 223 | void setActivationKeyEvent(int key) { _activationKeyEvent = key; } |
| | 224 | int getActivationKeyEvent() const { return _activationKeyEvent; } |
| | 225 | |
| | 226 | |
| | 227 | virtual void traverse(osg::NodeVisitor& nv); |
| | 228 | |
| | 229 | virtual bool handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa); |
| | 230 | virtual bool handle(const PointerInfo&, const osgGA::GUIEventAdapter&, osgGA::GUIActionAdapter&) { return false; } |
| | 231 | |
| | 232 | |
| | 233 | typedef std::vector< osg::ref_ptr<Constraint> > Constraints; |
| | 234 | |
| | 235 | void addConstraint(Constraint* constraint); |
| | 236 | void removeConstraint(Constraint* constraint); |
| | 237 | |
| | 238 | Constraints& getConstraints() { return _constraints; } |
| | 239 | const Constraints& getConstraints() const { return _constraints; } |
| | 240 | |
| | 241 | |
| | 242 | typedef std::vector< osg::ref_ptr<DraggerCallback> > DraggerCallbacks; |
| | 243 | |
| | 244 | void addDraggerCallback(DraggerCallback* dc); |
| | 245 | void removeDraggerCallback(DraggerCallback* dc); |
| | 246 | |
| | 247 | DraggerCallbacks& getDraggerCallbacks() { return _draggerCallbacks; } |
| | 248 | const DraggerCallbacks& getDraggerCallbacks() const { return _draggerCallbacks; } |
| | 249 | |
| | 250 | void addTransformUpdating(MatrixTransform* transform); |
| | 251 | void removeTransformUpdating(MatrixTransform* transform); |
| | 252 | |
| | 253 | /** Setup default geometry for dragger. */ |
| | 254 | virtual void setupDefaultGeometry() {} |
| | 255 | |
| | 256 | protected: |
| | 257 | |
| | 258 | Dragger(); |
| | 259 | Dragger(const Dragger& rhs, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY); |
| | 260 | |
| | 261 | virtual ~Dragger(); |
| | 262 | |
| | 263 | virtual bool receive(const MotionCommand& command); |
| | 264 | void dispatch(MotionCommand& command); |
| | 265 | |
| 223 | | |
| 224 | | virtual void traverse(osg::NodeVisitor& nv); |
| 225 | | |
| 226 | | virtual bool handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa); |
| 227 | | virtual bool handle(const PointerInfo&, const osgGA::GUIEventAdapter&, osgGA::GUIActionAdapter&) { return false; } |
| 228 | | |
| 229 | | |
| 230 | | typedef std::vector< osg::ref_ptr<Constraint> > Constraints; |
| 231 | | |
| 232 | | void addConstraint(Constraint* constraint); |
| 233 | | void removeConstraint(Constraint* constraint); |
| 234 | | |
| 235 | | Constraints& getConstraints() { return _constraints; } |
| 236 | | const Constraints& getConstraints() const { return _constraints; } |
| 237 | | |
| 238 | | |
| 239 | | typedef std::vector< osg::ref_ptr<DraggerCallback> > DraggerCallbacks; |
| 240 | | |
| 241 | | void addDraggerCallback(DraggerCallback* dc); |
| 242 | | void removeDraggerCallback(DraggerCallback* dc); |
| 243 | | |
| 244 | | DraggerCallbacks& getDraggerCallbacks() { return _draggerCallbacks; } |
| 245 | | const DraggerCallbacks& getDraggerCallbacks() const { return _draggerCallbacks; } |
| 246 | | |
| 247 | | void addTransformUpdating(MatrixTransform* transform); |
| 248 | | void removeTransformUpdating(MatrixTransform* transform); |
| 249 | | |
| 250 | | /** Setup default geometry for dragger. */ |
| 251 | | virtual void setupDefaultGeometry() {} |
| 252 | | |
| 253 | | protected: |
| 254 | | |
| 255 | | Dragger(); |
| 256 | | Dragger(const Dragger& rhs, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY); |
| 257 | | |
| 258 | | virtual ~Dragger(); |
| 259 | | |
| 260 | | virtual bool receive(const MotionCommand& command); |
| 261 | | void dispatch(MotionCommand& command); |
| 262 | | |