|
openscenegraph
|
#include <CameraManipulator>
Classes | |
| class | CoordinateFrameCallback |
Public Member Functions | |
| virtual const char * | className () const |
| 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 | setByMatrix (const osg::Matrixd &matrix)=0 |
| virtual void | setByInverseMatrix (const osg::Matrixd &matrix)=0 |
| virtual osg::Matrixd | getMatrix () const =0 |
| virtual osg::Matrixd | getInverseMatrix () const =0 |
| virtual void | updateCamera (osg::Camera &camera) |
| virtual osgUtil::SceneView::FusionDistanceMode | getFusionDistanceMode () const |
| virtual float | getFusionDistanceValue () const |
| void | setIntersectTraversalMask (unsigned int mask) |
| unsigned int | getIntersectTraversalMask () const |
| virtual void | setNode (osg::Node *) |
| virtual const osg::Node * | getNode () const |
| virtual osg::Node * | getNode () |
| 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 void | home (const GUIEventAdapter &, GUIActionAdapter &) |
| virtual void | home (double) |
| virtual void | init (const GUIEventAdapter &, GUIActionAdapter &) |
| virtual bool | handle (osgGA::Event *event, osg::Object *object, osg::NodeVisitor *nv) |
| virtual bool | handle (const GUIEventAdapter &ea, GUIActionAdapter &us) |
| 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 NodeCallback * | asNodeCallback () |
| virtual const NodeCallback * | asNodeCallback () const |
| virtual DrawableEventCallback * | asDrawableEventCallback () |
| virtual const DrawableEventCallback * | asDrawableEventCallback () const |
| virtual EventHandler * | asEventHandler () |
| virtual const EventHandler * | asEventHandler () const |
| 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) |
| virtual void | getUsage (osg::ApplicationUsage &) const |
| 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) | |
| virtual Callback * | asCallback () |
| virtual const Callback * | asCallback () const |
| virtual CallbackObject * | asCallbackObject () |
| virtual const CallbackObject * | asCallbackObject () const |
| virtual StateAttributeCallback * | asStateAttributeCallback () |
| virtual const StateAttributeCallback * | asStateAttributeCallback () const |
| virtual UniformCallback * | asUniformCallback () |
| virtual const UniformCallback * | asUniformCallback () const |
| virtual DrawableUpdateCallback * | asDrawableUpdateCallback () |
| virtual const DrawableUpdateCallback * | asDrawableUpdateCallback () const |
| virtual DrawableCullCallback * | asDrawableCullCallback () |
| virtual const DrawableCullCallback * | asDrawableCullCallback () const |
| 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 StateSet * | asStateSet () |
| virtual const StateSet * | asStateSet () const |
| virtual StateAttribute * | asStateAttribute () |
| virtual const StateAttribute * | asStateAttribute () const |
| virtual Uniform * | asUniform () |
| virtual const Uniform * | asUniform () const |
| virtual Camera * | asCamera () |
| virtual const Camera * | asCamera () const |
| virtual Drawable * | asDrawable () |
| virtual const Drawable * | asDrawable () const |
| virtual UserDataContainer * | asUserDataContainer () |
| virtual const UserDataContainer * | asUserDataContainer () const |
| virtual ValueObject * | asValueObject () |
| virtual const ValueObject * | asValueObject () const |
| virtual Image * | asImage () |
| virtual const Image * | asImage () 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) |
| template<class T> | |
| void | setUserDataContainer (const ref_ptr< T > &udc) |
| osg::UserDataContainer * | getUserDataContainer () |
| const osg::UserDataContainer * | getUserDataContainer () const |
| osg::UserDataContainer * | getOrCreateUserDataContainer () |
| virtual void | setUserData (Referenced *obj) |
| template<class T> | |
| void | setUserData (const ref_ptr< T > &ud) |
| 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::DrawableEventCallback | |
| DrawableEventCallback () | |
| DrawableEventCallback (const DrawableEventCallback &org, const CopyOp ©op) | |
| META_Object (osg, DrawableEventCallback) | |
Protected Member Functions | |
| 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 |
Protected Attributes | |
| unsigned int | _intersectTraversalMask |
| bool | _autoComputeHomePosition |
| osg::Vec3d | _homeEye |
| osg::Vec3d | _homeCenter |
| osg::Vec3d | _homeUp |
| osg::ref_ptr< CoordinateFrameCallback > | _coordinateFrameCallback |
| Protected Attributes inherited from osg::Callback | |
| ref_ptr< Callback > | _nestedCallback |
| Protected Attributes inherited from osg::Object | |
| std::string | _name |
| DataVariance | _dataVariance |
| osg::UserDataContainer * | _userDataContainer |
| Protected Attributes inherited from osg::Referenced | |
| OpenThreads::AtomicPtr | _observerSet |
| OpenThreads::Atomic | _refCount |
Additional Inherited Members | |
| Public Types inherited from osg::Object | |
| enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED } |
| Static Public Member Functions inherited from osg::Referenced | |
| static OpenThreads::Mutex * | getGlobalReferencedMutex () |
| static void | setDeleteHandler (DeleteHandler *handler) |
| static DeleteHandler * | getDeleteHandler () |
CameraManipulator is an abstract base class defining the interface, and a certain amount of default functionality, for classes which wish to control OSG cameras in response to GUI events.
|
protected |
Referenced by osgGA::KeySwitchMatrixManipulator::addMatrixManipulator(), osgGA::KeySwitchMatrixManipulator::addNumberedMatrixManipulator(), CameraManipulator(), osgGA::KeySwitchMatrixManipulator::getCurrentMatrixManipulator(), osgGA::KeySwitchMatrixManipulator::getCurrentMatrixManipulator(), osgGA::KeySwitchMatrixManipulator::getMatrixManipulatorWithIndex(), osgGA::KeySwitchMatrixManipulator::getMatrixManipulatorWithIndex(), osgGA::KeySwitchMatrixManipulator::getMatrixManipulatorWithKey(), and osgGA::KeySwitchMatrixManipulator::getMatrixManipulatorWithKey().
|
protected |
References CameraManipulator(), and osg::CopyOp::SHALLOW_COPY.
|
protectedvirtual |
|
inlinevirtual |
return the name of the object's class type. Must be defined by derived classes.
Implements osg::Object.
Reimplemented in osgGA::AnimationPathManipulator, osgGA::CameraViewSwitchManipulator, osgGA::DriveManipulator, osgGA::KeySwitchMatrixManipulator, osgGA::SphericalManipulator, osgGA::StandardManipulator, and osgGA::UFOManipulator.
|
virtual |
Compute the home position.
References NULL.
|
inlinevirtual |
finish any active manipulator animations.
Reimplemented in osgGA::KeySwitchMatrixManipulator, and osgGA::StandardManipulator.
|
inline |
Get whether the automatic compute of the home position is enabled.
References _autoComputeHomePosition.
|
inline |
get the coordinate frame.
References _coordinateFrameCallback.
|
inline |
get the coordinate frame callback which tells the manipulator which way is up, east and north.
References _coordinateFrameCallback.
|
inline |
get the coordinate frame callback which tells the manipulator which way is up, east and north.
References _coordinateFrameCallback.
|
inline |
|
inlinevirtual |
Get the FusionDistanceMode. Used by SceneView for setting up stereo convergence.
Reimplemented in osgGA::KeySwitchMatrixManipulator, osgGA::OrbitManipulator, and osgGA::SphericalManipulator.
References osgUtil::SceneView::PROPORTIONAL_TO_SCREEN_DISTANCE.
|
inlinevirtual |
Get the FusionDistanceValue. Used by SceneView for setting up stereo convergence.
Reimplemented in osgGA::KeySwitchMatrixManipulator, osgGA::OrbitManipulator, and osgGA::SphericalManipulator.
|
inlinevirtual |
Get the manually set home position.
References _homeCenter, _homeEye, and _homeUp.
|
inline |
Get the mask to use when set up intersection traversal such as used in manipulators that follow terrain or have collision detection.
References _intersectTraversalMask.
|
pure virtual |
get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix.
Implemented in osgGA::AnimationPathManipulator, osgGA::CameraViewSwitchManipulator, osgGA::DriveManipulator, osgGA::FirstPersonManipulator, osgGA::KeySwitchMatrixManipulator, osgGA::NodeTrackerManipulator, osgGA::OrbitManipulator, osgGA::SphericalManipulator, and osgGA::UFOManipulator.
Referenced by updateCamera().
|
protected |
|
pure virtual |
get the position of the manipulator as 4x4 Matrix.
Implemented in osgGA::AnimationPathManipulator, osgGA::CameraViewSwitchManipulator, osgGA::DriveManipulator, osgGA::FirstPersonManipulator, osgGA::KeySwitchMatrixManipulator, osgGA::NodeTrackerManipulator, osgGA::OrbitManipulator, osgGA::SphericalManipulator, and osgGA::UFOManipulator.
|
inlinevirtual |
Return node if attached.
Reimplemented in osgGA::CameraViewSwitchManipulator, osgGA::DriveManipulator, osgGA::KeySwitchMatrixManipulator, osgGA::SphericalManipulator, osgGA::StandardManipulator, and osgGA::UFOManipulator.
References NULL.
|
inlinevirtual |
Return const node if attached.
Reimplemented in osgGA::CameraViewSwitchManipulator, osgGA::DriveManipulator, osgGA::KeySwitchMatrixManipulator, osgGA::SphericalManipulator, osgGA::StandardManipulator, and osgGA::UFOManipulator.
References NULL.
|
inline |
|
inline |
|
virtual |
Handle events, return true if handled, false otherwise.
Reimplemented from osgGA::GUIEventHandler.
Reimplemented in osgGA::AnimationPathManipulator, osgGA::CameraViewSwitchManipulator, osgGA::DriveManipulator, osgGA::KeySwitchMatrixManipulator, osgGA::MultiTouchTrackballManipulator, osgGA::SphericalManipulator, osgGA::StandardManipulator, and osgGA::UFOManipulator.
|
inlinevirtual |
Handle event. Override the handle(..) method in your event handlers to respond to events.
Reimplemented from osgGA::GUIEventHandler.
References osgGA::EventHandler::event(), and osgGA::GUIEventHandler::handle().
|
inlinevirtual |
Move the camera to the default position. May be ignored by manipulators if home functionality is not appropriate.
Reimplemented in osgGA::AnimationPathManipulator, osgGA::DriveManipulator, osgGA::FirstPersonManipulator, osgGA::FlightManipulator, osgGA::KeySwitchMatrixManipulator, osgGA::SphericalManipulator, osgGA::StandardManipulator, and osgGA::UFOManipulator.
|
inlinevirtual |
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 in osgGA::AnimationPathManipulator, osgGA::FirstPersonManipulator, osgGA::SphericalManipulator, osgGA::StandardManipulator, and osgGA::UFOManipulator.
|
inlinevirtual |
Start/restart the manipulator.
Reimplemented in osgGA::AnimationPathManipulator, osgGA::CameraViewSwitchManipulator, osgGA::DriveManipulator, osgGA::FirstPersonManipulator, osgGA::FlightManipulator, osgGA::KeySwitchMatrixManipulator, osgGA::SphericalManipulator, osgGA::StandardManipulator, and osgGA::UFOManipulator.
|
inlinevirtual |
Set whether the automatic compute of the home position is enabled.
Reimplemented in osgGA::KeySwitchMatrixManipulator.
References _autoComputeHomePosition.
Referenced by setHomePosition().
|
pure virtual |
set the position of the matrix manipulator using a 4x4 Matrix.
Implemented in osgGA::AnimationPathManipulator, osgGA::CameraViewSwitchManipulator, osgGA::DriveManipulator, osgGA::FirstPersonManipulator, osgGA::KeySwitchMatrixManipulator, osgGA::OrbitManipulator, osgGA::SphericalManipulator, and osgGA::UFOManipulator.
|
pure virtual |
set the position of the matrix manipulator using a 4x4 Matrix.
Implemented in osgGA::AnimationPathManipulator, osgGA::CameraViewSwitchManipulator, osgGA::DriveManipulator, osgGA::FirstPersonManipulator, osgGA::KeySwitchMatrixManipulator, osgGA::NodeTrackerManipulator, osgGA::OrbitManipulator, osgGA::SphericalManipulator, osgGA::TerrainManipulator, and osgGA::UFOManipulator.
|
inlinevirtual |
set the coordinate frame which callback tells the manipulator which way is up, east and north.
Reimplemented in osgGA::KeySwitchMatrixManipulator.
References _coordinateFrameCallback.
|
inlinevirtual |
Manually set the home position, and set the automatic compute of home position.
Reimplemented in osgGA::KeySwitchMatrixManipulator.
References _homeCenter, _homeEye, _homeUp, and setAutoComputeHomePosition().
|
inline |
Set the mask to use when set up intersection traversal such as used in manipulators that follow terrain or have collision detection. The intersection traversal mask is useful for controlling what parts of the scene graph should be used for intersection purposes.
References _intersectTraversalMask.
|
inlinevirtual |
Attach a node to the manipulator, automatically detaching any previously attached node. setNode(NULL) detaches previous nodes. May be ignored by manipulators which do not require a reference model.
Reimplemented in osgGA::CameraViewSwitchManipulator, osgGA::DriveManipulator, osgGA::KeySwitchMatrixManipulator, osgGA::NodeTrackerManipulator, osgGA::SphericalManipulator, osgGA::StandardManipulator, osgGA::TerrainManipulator, and osgGA::UFOManipulator.
|
inlinevirtual |
update the camera for the current frame, typically called by the viewer classes. Default implementation simply set the camera view matrix.
References getInverseMatrix(), and osg::Camera::setViewMatrix().
|
protected |
Referenced by getAutoComputeHomePosition(), and setAutoComputeHomePosition().
|
protected |
|
protected |
Referenced by getHomePosition(), and setHomePosition().
|
protected |
Referenced by getHomePosition(), and setHomePosition().
|
protected |
Referenced by getHomePosition(), and setHomePosition().
|
protected |
Referenced by getIntersectTraversalMask(), and setIntersectTraversalMask().