15#ifndef OSGMANIPULATOR_DRAGGER
16#define OSGMANIPULATOR_DRAGGER 1
30class CompositeDragger;
32class TranslateInLineCommand;
33class TranslateInPlaneCommand;
36class ScaleUniformCommand;
124 _eyeDir = farPoint - nearPoint;
151 _MVPW.makeIdentity();
160 bool needToResetHitIter =
_hitList.empty();
Definition GUIActionAdapter:62
Definition GUIEventAdapter:82
bool containsDragger(const osg::ref_ptr< T > &dc) const
Definition Dragger:346
virtual ~CompositeDragger()
Definition Dragger:357
std::vector< osg::ref_ptr< Dragger > > DraggerList
Definition Dragger:324
bool containsDragger(const Dragger *dragger) const
virtual void setParentDragger(Dragger *parent)
META_Node(osgManipulator, CompositeDragger)
CompositeDragger(const CompositeDragger &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
virtual CompositeDragger * getComposite()
Definition Dragger:327
DraggerList _draggerList
Definition Dragger:359
virtual bool handle(const PointerInfo &pi, const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &aa)
virtual bool addDragger(Dragger *dragger)
const Dragger * getDragger(unsigned int i) const
Definition Dragger:343
bool removeDragger(const osg::ref_ptr< T > &dc)
Definition Dragger:338
CompositeDragger()
Definition Dragger:354
Dragger * getDragger(unsigned int i)
Definition Dragger:342
virtual const CompositeDragger * getComposite() const
Definition Dragger:326
DraggerList::iterator findDragger(const Dragger *dragger)
virtual bool removeDragger(Dragger *dragger)
bool addDragger(const osg::ref_ptr< T > &dc)
Definition Dragger:335
virtual void setIntersectionMask(osg::Node::NodeMask intersectionMask)
unsigned int getNumDraggers() const
Definition Dragger:340
DraggerCallback()
Definition Constraint:38
Constraints _constraints
Definition Dragger:307
const Constraints & getConstraints() const
Definition Dragger:245
osgManipulator::PointerInfo _pointer
Definition Dragger:302
bool _activationPermittedByKeyEvent
Definition Dragger:300
virtual void setupDefaultGeometry()
Definition Dragger:263
unsigned int _activationModKeyMask
Definition Dragger:295
Dragger * getParentDragger()
Definition Dragger:207
virtual void setIntersectionMask(osg::Node::NodeMask intersectionMask)
Definition Dragger:275
bool _activationPermittedByModKeyMask
Definition Dragger:298
void removeTransformUpdating(MatrixTransform *transform)
osg::Node::NodeMask _intersectionMask
Definition Dragger:309
virtual const CompositeDragger * getComposite() const
Definition Dragger:211
virtual bool handle(const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &aa)
void setActivationMouseButtonMask(unsigned int mask)
Definition Dragger:223
bool getDraggerActive() const
Definition Dragger:269
void addTransformUpdating(MatrixTransform *transform, int handleCommandMask=DraggerTransformCallback::HANDLE_ALL)
int _activationKeyEvent
Definition Dragger:297
virtual void traverse(osg::NodeVisitor &nv)
void removeConstraint(const osg::ref_ptr< T > &c)
Definition Dragger:242
DraggerCallbacks _draggerCallbacks
Definition Dragger:308
virtual bool receive(const MotionCommand &command)
bool _draggerActive
Definition Dragger:293
void addConstraint(Constraint *constraint)
unsigned int getActivationMouseButtonMask() const
Definition Dragger:224
void setHandleEvents(bool flag)
Dragger * _parentDragger
Definition Dragger:304
void addDraggerCallback(DraggerCallback *dc)
const DraggerCallbacks & getDraggerCallbacks() const
Definition Dragger:257
virtual void dispatch(MotionCommand &command)
unsigned int getActivationModKeyMask() const
Definition Dragger:221
void removeConstraint(Constraint *constraint)
void setActivationKeyEvent(int key)
Definition Dragger:226
int getActivationKeyEvent() const
Definition Dragger:227
void addConstraint(const osg::ref_ptr< T > &c)
Definition Dragger:239
osg::Node::NodeMask getIntersectionMask() const
Definition Dragger:276
virtual bool handle(const PointerInfo &, const osgGA::GUIEventAdapter &, osgGA::GUIActionAdapter &)
Definition Dragger:233
bool getHandleEvents() const
Definition Dragger:218
META_Node(osgManipulator, Dragger)
osg::ref_ptr< DraggerCallback > _selfUpdater
Definition Dragger:306
Dragger(const Dragger &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
DraggerCallbacks & getDraggerCallbacks()
Definition Dragger:256
void addDraggerCallback(const osg::ref_ptr< T > &dc)
Definition Dragger:251
const Dragger * getParentDragger() const
Definition Dragger:208
void setActivationModKeyMask(unsigned int mask)
Definition Dragger:220
std::vector< osg::ref_ptr< DraggerCallback > > DraggerCallbacks
Definition Dragger:248
Constraints & getConstraints()
Definition Dragger:244
unsigned int _activationMouseButtonMask
Definition Dragger:296
virtual CompositeDragger * getComposite()
Definition Dragger:214
void removeDraggerCallback(DraggerCallback *dc)
void removeDraggerCallback(const osg::ref_ptr< T > &dc)
Definition Dragger:254
std::vector< osg::ref_ptr< Constraint > > Constraints
Definition Dragger:236
void setDraggerActive(bool active)
Definition Dragger:268
virtual void setParentDragger(Dragger *parent)
Definition Dragger:205
bool _handleEvents
Definition Dragger:292
void applyAppropriateFrontFace(osg::StateSet *ss) const
bool _activationPermittedByMouseButtonMask
Definition Dragger:299
void next()
Definition Dragger:108
void setCamera(osg::Camera *camera)
Definition Dragger:136
void setMousePosition(float pixel_x, float pixel_y)
Definition Dragger:165
osg::Matrix _MVPW
Definition Dragger:182
IntersectionList::const_iterator _hitIter
Definition Dragger:175
osg::Vec3d _eyeDir
Definition Dragger:180
osg::Vec3d _nearPoint
Definition Dragger:179
IntersectionList _hitList
Definition Dragger:174
std::list< NodePathIntersectionPair > IntersectionList
Definition Dragger:114
osg::Matrix _inverseMVPW
Definition Dragger:183
const osg::Vec3d & getEyeDir() const
Definition Dragger:127
void getNearFarPoints(osg::Vec3d &nearPoint, osg::Vec3d &farPoint) const
Definition Dragger:129
void addIntersection(const osg::NodePath &nodePath, const osg::Vec3d &intersectionPoint)
Definition Dragger:158
std::pair< osg::NodePath, osg::Vec3d > NodePathIntersectionPair
Definition Dragger:113
void setNearFarPoints(osg::Vec3d nearPoint, osg::Vec3d farPoint)
Definition Dragger:121
bool projectWindowXYIntoObject(const osg::Vec2d &windowCoord, osg::Vec3d &nearPoint, osg::Vec3d &farPoint) const
osg::Vec3d _farPoint
Definition Dragger:179
osg::Vec3d getLocalIntersectPoint() const
Definition Dragger:117
void reset()
Definition Dragger:98
PointerInfo(const PointerInfo &rhs)
Definition Dragger:89
bool contains(const osg::Node *node) const
bool completed() const
Definition Dragger:106
osg::Matrixd & getProjectionMatrix()
Definition Camera:216
const Viewport * getViewport() const
Definition Camera:156
osg::Matrixd & getViewMatrix()
Definition Camera:250
@ SHALLOW_COPY
Definition CopyOp:47
void getLookAt(Vec3f &eye, Vec3f ¢er, Vec3f &up, value_type lookDistance=1.0f) const
Definition NodeVisitor:82
unsigned int NodeMask
Definition Node:363
const osg::Matrix computeWindowMatrix() const
Definition Viewport:129
Definition observer_ptr:39
T * get() const
Definition ref_ptr:117
void OSGMANIPULATOR_EXPORT setDrawableToAlwaysCull(osg::Drawable &drawable)
void OSGMANIPULATOR_EXPORT setMaterialColor(const osg::Vec4 &color, osg::Node &node)
OSGMANIPULATOR_EXPORT void computeNodePathToRoot(osg::Node &node, osg::NodePath &np)
Matrixd Matrix
Definition Matrix:27
Vec4f Vec4
Definition Vec4:21
std::vector< Node * > NodePath
Definition Node:47
#define OSGMANIPULATOR_EXPORT
Definition osgManipulator/Export:27