|
OSG
3.4.0
|
#include <SphericalManipulator.h>


Public Types | |
| enum | RotationMode { ELEVATION_HEADING =0, HEADING, ELEVATION, MAP } |
Public Types inherited from osg::Object | |
| enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
Public Member Functions | |
| SphericalManipulator () | |
| virtual const char * | className () const |
| virtual void | setByMatrix (const osg::Matrixd &matrix) |
| virtual void | setByInverseMatrix (const osg::Matrixd &matrix) |
| virtual osg::Matrixd | getMatrix () const |
| virtual osg::Matrixd | getInverseMatrix () const |
| virtual osgUtil::SceneView::FusionDistanceMode | getFusionDistanceMode () const |
| virtual float | getFusionDistanceValue () const |
| virtual void | setNode (osg::Node *) |
| virtual const osg::Node * | getNode () const |
| virtual osg::Node * | getNode () |
| virtual void | home (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us) |
| virtual void | home (double) |
| virtual void | init (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us) |
| void | zoomOn (const osg::BoundingSphere &bound) |
| virtual bool | handle (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us) |
| virtual void | computeHomePosition () |
| void | computeViewPosition (const osg::BoundingSphere &bound, double &scale, double &distance, osg::Vec3d ¢er) |
| void | setCenter (const osg::Vec3d ¢er) |
| const osg::Vec3d & | getCenter () const |
| bool | setDistance (double distance) |
| double | getDistance () const |
| double | getHomeDistance () const |
| void | setHeading (double azimuth) |
| double | getHeading () const |
| void | setElevation (double elevation) |
| double | getElevtion () const |
| double | getMinimumZoomScale () const |
| void | setMinimumZoomScale (double minimumZoomScale) |
| void | setScroolWheelZoomDelta (double zoomDelta) |
| double | getScroolWheelZoomDelta () const |
| virtual void | getUsage (osg::ApplicationUsage &usage) const |
| RotationMode | getRotationMode () const |
| void | setRotationMode (RotationMode mode) |
| bool | getAllowThrow () const |
| void | setAllowThrow (bool allowThrow) |
Public Member Functions inherited from osgGA::CameraManipulator | |
| virtual void | setCoordinateFrameCallback (CoordinateFrameCallback *cb) |
| CoordinateFrameCallback * | getCoordinateFrameCallback () |
| const CoordinateFrameCallback * | getCoordinateFrameCallback () const |
| osg::CoordinateFrame | getCoordinateFrame (const osg::Vec3d &position) const |
| osg::Vec3d | getSideVector (const osg::CoordinateFrame &cf) const |
| osg::Vec3d | getFrontVector (const osg::CoordinateFrame &cf) const |
| osg::Vec3d | getUpVector (const osg::CoordinateFrame &cf) const |
| virtual void | updateCamera (osg::Camera &camera) |
| void | setIntersectTraversalMask (unsigned int mask) |
| unsigned int | getIntersectTraversalMask () const |
| virtual void | setHomePosition (const osg::Vec3d &eye, const osg::Vec3d ¢er, const osg::Vec3d &up, bool autoComputeHomePosition=false) |
| virtual void | getHomePosition (osg::Vec3d &eye, osg::Vec3d ¢er, osg::Vec3d &up) const |
| virtual void | setAutoComputeHomePosition (bool flag) |
| bool | getAutoComputeHomePosition () const |
| virtual void | computeHomePosition (const osg::Camera *camera=NULL, bool useBoundingBox=false) |
| virtual void | finishAnimation () |
| virtual bool | handle (osgGA::Event *event, osg::Object *object, osg::NodeVisitor *nv) |
Public Member Functions inherited from osgGA::GUIEventHandler | |
| GUIEventHandler () | |
| GUIEventHandler (const GUIEventHandler &eh, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
| META_Object (osgGA, GUIEventHandler) | |
| virtual bool | handle (const GUIEventAdapter &ea, GUIActionAdapter &aa, osg::Object *, osg::NodeVisitor *) |
Public Member Functions inherited from osgGA::EventHandler | |
| EventHandler () | |
| EventHandler (const EventHandler &eh, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
| META_Object (osgGA, EventHandler) | |
| virtual bool | run (osg::Object *object, osg::Object *data) |
| virtual void | operator() (osg::Node *node, osg::NodeVisitor *nv) |
| virtual void | event (osg::NodeVisitor *nv, osg::Drawable *drawable) |
Public Member Functions inherited from osg::NodeCallback | |
| NodeCallback () | |
| NodeCallback (const NodeCallback &nc, const CopyOp ©op) | |
| META_Object (osg, NodeCallback) | |
Public Member Functions inherited from osg::Callback | |
| Callback () | |
| Callback (const Callback &cb, const CopyOp ©op) | |
| META_Object (osg, Callback) | |
| bool | traverse (osg::Object *object, osg::Object *data) |
| void | setNestedCallback (osg::Callback *cb) |
| osg::Callback * | getNestedCallback () |
| const osg::Callback * | getNestedCallback () const |
| void | addNestedCallback (osg::Callback *nc) |
| void | removeNestedCallback (osg::Callback *nc) |
Public Member Functions inherited from osg::Object | |
| Object () | |
| Object (bool threadSafeRefUnref) | |
| Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
| virtual Object * | cloneType () const =0 |
| virtual Object * | clone (const CopyOp &) const =0 |
| virtual bool | isSameKindAs (const Object *) const |
| virtual const char * | libraryName () const =0 |
| std::string | getCompoundClassName () const |
| virtual Node * | asNode () |
| virtual const Node * | asNode () const |
| virtual NodeVisitor * | asNodeVisitor () |
| virtual const NodeVisitor * | asNodeVisitor () const |
| virtual StateAttribute * | asStateAttribute () |
| virtual const StateAttribute * | asStateAttribute () const |
| virtual Uniform * | asUniform () |
| virtual const Uniform * | asUniform () const |
| virtual void | setThreadSafeRefUnref (bool threadSafe) |
| virtual void | setName (const std::string &name) |
| void | setName (const char *name) |
| const std::string & | getName () const |
| void | setDataVariance (DataVariance dv) |
| DataVariance | getDataVariance () const |
| virtual void | computeDataVariance () |
| void | setUserDataContainer (osg::UserDataContainer *udc) |
| osg::UserDataContainer * | getUserDataContainer () |
| const osg::UserDataContainer * | getUserDataContainer () const |
| osg::UserDataContainer * | getOrCreateUserDataContainer () |
| virtual void | setUserData (Referenced *obj) |
| virtual Referenced * | getUserData () |
| virtual const Referenced * | getUserData () const |
| template<typename T > | |
| bool | getUserValue (const std::string &name, T &value) const |
| template<typename T > | |
| void | setUserValue (const std::string &name, const T &value) |
| virtual void | resizeGLObjectBuffers (unsigned int) |
| virtual void | releaseGLObjects (osg::State *=0) const |
| template<typename T > | |
| BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
Public Member Functions inherited from osg::Referenced | |
| Referenced () | |
| Referenced (bool threadSafeRefUnref) | |
| Referenced (const Referenced &) | |
| Referenced & | operator= (const Referenced &) |
| bool | getThreadSafeRefUnref () const |
| OpenThreads::Mutex * | getRefMutex () const |
| int | ref () const |
| int | unref () const |
| int | unref_nodelete () const |
| int | referenceCount () const |
| ObserverSet * | getObserverSet () const |
| ObserverSet * | getOrCreateObserverSet () const |
| void | addObserver (Observer *observer) const |
| void | removeObserver (Observer *observer) const |
Public Member Functions inherited from osg::Drawable::EventCallback | |
| EventCallback () | |
| EventCallback (const EventCallback &, const CopyOp &) | |
| META_Object (osg, EventCallback) | |
Protected Member Functions | |
| virtual | ~SphericalManipulator () |
| void | flushMouseEventStack () |
| void | addMouseEvent (const osgGA::GUIEventAdapter &ea) |
| bool | calcMovement () |
| bool | isMouseMoving () |
Protected Member Functions inherited from osgGA::CameraManipulator | |
| CameraManipulator () | |
| CameraManipulator (const CameraManipulator &mm, const osg::CopyOp ©Op=osg::CopyOp::SHALLOW_COPY) | |
| virtual | ~CameraManipulator () |
| std::string | getManipulatorName () const |
Protected Member Functions inherited from osgGA::GUIEventHandler | |
| virtual | ~GUIEventHandler () |
Protected Member Functions inherited from osg::NodeCallback | |
| virtual | ~NodeCallback () |
Protected Member Functions inherited from osg::Callback | |
| virtual | ~Callback () |
Protected Member Functions inherited from osg::Object | |
| virtual | ~Object () |
Protected Member Functions inherited from osg::Referenced | |
| virtual | ~Referenced () |
| void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
| void | deleteUsingDeleteHandler () const |
Additional Inherited Members | |
Static Public Member Functions inherited from osg::Referenced | |
| static OpenThreads::Mutex * | getGlobalReferencedMutex () |
| static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
| static bool | getThreadSafeReferenceCounting () |
| static void | setDeleteHandler (DeleteHandler *handler) |
| static DeleteHandler * | getDeleteHandler () |
Definition at line 24 of file SphericalManipulator.h.
| Enumerator | |
|---|---|
| ELEVATION_HEADING | |
| HEADING | |
| ELEVATION | |
| MAP | |
Definition at line 113 of file SphericalManipulator.h.
| osgGA::SphericalManipulator::SphericalManipulator | ( | ) |
|
protectedvirtual |
|
protected |
Add the current mouse GUIEvent to internal stack.
|
protected |
For the give mouse movement calculate the movement of the camera. Return true is camera has moved and a redraw is required.
|
inlinevirtual |
return the name of the object's class type. Must be defined by derived classes.
Reimplemented from osgGA::CameraManipulator.
Definition at line 29 of file SphericalManipulator.h.
|
virtual |
Compute the home position.
| void osgGA::SphericalManipulator::computeViewPosition | ( | const osg::BoundingSphere & | bound, |
| double & | scale, | ||
| double & | distance, | ||
| osg::Vec3d & | center | ||
| ) |
|
protected |
Reset the internal GUIEvent stack.
|
inline |
Returns true if the camera can be thrown, false otherwise. This defaults to true.
Definition at line 125 of file SphericalManipulator.h.
|
inline |
Definition at line 80 of file SphericalManipulator.h.
|
inline |
Definition at line 83 of file SphericalManipulator.h.
|
inline |
Definition at line 91 of file SphericalManipulator.h.
|
inlinevirtual |
Get the FusionDistanceMode. Used by SceneView for setting up stereo convergence.
Reimplemented from osgGA::CameraManipulator.
Definition at line 44 of file SphericalManipulator.h.
|
inlinevirtual |
Get the FusionDistanceValue. Used by SceneView for setting up stereo convergence.
Reimplemented from osgGA::CameraManipulator.
Definition at line 47 of file SphericalManipulator.h.
|
inline |
Definition at line 88 of file SphericalManipulator.h.
|
inline |
Definition at line 85 of file SphericalManipulator.h.
|
virtual |
get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix.
Implements osgGA::CameraManipulator.
|
virtual |
get the position of the manipulator as 4x4 Matrix.
Implements osgGA::CameraManipulator.
|
inline |
get the minimum distance (as ratio) the eye point can be zoomed in
Definition at line 95 of file SphericalManipulator.h.
|
virtual |
Return node if attached.
Reimplemented from osgGA::CameraManipulator.
|
virtual |
Return node if attached.
Reimplemented from osgGA::CameraManipulator.
|
inline |
Definition at line 121 of file SphericalManipulator.h.
|
inline |
get the mouse scroll wheel zoom delta.
Definition at line 107 of file SphericalManipulator.h.
|
virtual |
Get the keyboard and mouse usage of this manipulator.
Reimplemented from osgGA::EventHandler.
|
virtual |
handle events, return true if handled, false otherwise.
Reimplemented from osgGA::CameraManipulator.
|
virtual |
Move the camera to the default position. May be ignored by manipulators if home functionality is not appropriate.
Reimplemented from osgGA::CameraManipulator.
|
virtual |
Move the camera to the default position. This version does not require GUIEventAdapter and GUIActionAdapter so may be called from somewhere other than a handle() method in GUIEventHandler. Application must be aware of implications.
Reimplemented from osgGA::CameraManipulator.
|
virtual |
Start/restart the manipulator.
Reimplemented from osgGA::CameraManipulator.
|
protected |
Check the speed at which the mouse is moving. If speed is below a threshold then return false, otherwise return true.
|
inline |
Set the 'allow throw' flag. Releasing the mouse button while moving the camera results in a throw.
Definition at line 127 of file SphericalManipulator.h.
|
inlinevirtual |
set the position of the matrix manipulator using a 4x4 Matrix.
Implements osgGA::CameraManipulator.
Definition at line 35 of file SphericalManipulator.h.

|
virtual |
set the position of the matrix manipulator using a 4x4 Matrix.
Implements osgGA::CameraManipulator.
|
inline |
Definition at line 79 of file SphericalManipulator.h.
| bool osgGA::SphericalManipulator::setDistance | ( | double | distance | ) |
|
inline |
Definition at line 90 of file SphericalManipulator.h.
|
inline |
Definition at line 87 of file SphericalManipulator.h.
|
inline |
set the minimum distance (as ratio) the eye point can be zoomed in towards the center before the center is pushed forward.
Definition at line 99 of file SphericalManipulator.h.
|
virtual |
Attach a node to the manipulator. Automatically detaches previously attached node. setNode(NULL) detaches previously nodes. Is ignored by manipulators which do not require a reference model.
Reimplemented from osgGA::CameraManipulator.
| void osgGA::SphericalManipulator::setRotationMode | ( | RotationMode | mode | ) |
|
inline |
set the mouse scroll wheel zoom delta. Range -1.0 to +1.0, -ve value inverts wheel direction and zero switches off scroll wheel.
Definition at line 104 of file SphericalManipulator.h.
| void osgGA::SphericalManipulator::zoomOn | ( | const osg::BoundingSphere & | bound | ) |
|
protected |
Definition at line 156 of file SphericalManipulator.h.
|
protected |
Definition at line 170 of file SphericalManipulator.h.
|
protected |
The approximate amount of time it is currently taking to draw a frame. This is used to compute the delta in translation/rotation during a thrown display update. It allows us to match an delta in position/rotation independent of the rendering frame rate.
Definition at line 162 of file SphericalManipulator.h.
|
protected |
Definition at line 171 of file SphericalManipulator.h.
|
protected |
Definition at line 173 of file SphericalManipulator.h.
|
protected |
Definition at line 148 of file SphericalManipulator.h.
|
protected |
Definition at line 147 of file SphericalManipulator.h.
|
protected |
Definition at line 172 of file SphericalManipulator.h.
|
protected |
Definition at line 174 of file SphericalManipulator.h.
|
protected |
The time the last frame started. Used when _rate_sensitive is true so that we can match display update rate to rotation/translation rate.
Definition at line 167 of file SphericalManipulator.h.
|
protected |
Definition at line 153 of file SphericalManipulator.h.
|
protected |
Definition at line 152 of file SphericalManipulator.h.
|
protected |
Definition at line 150 of file SphericalManipulator.h.
|
protected |
Definition at line 169 of file SphericalManipulator.h.
|
protected |
Definition at line 155 of file SphericalManipulator.h.
|
protected |
Definition at line 175 of file SphericalManipulator.h.
1.8.8