openscenegraph
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
osgGA::NodeTrackerManipulator Class Reference
Inheritance diagram for osgGA::NodeTrackerManipulator:
osgGA::OrbitManipulator osgGA::StandardManipulator osgGA::CameraManipulator osgGA::GUIEventHandler osg::NodeCallback osg::Drawable::EventCallback osg::Object osg::Object osg::Referenced osg::Referenced

Public Types

enum  TrackerMode { NODE_CENTER, NODE_CENTER_AND_AZIM, NODE_CENTER_AND_ROTATION }
enum  RotationMode { TRACKBALL, ELEVATION_AZIM }

Public Member Functions

 NodeTrackerManipulator (int flags=DEFAULT_SETTINGS)
 NodeTrackerManipulator (const NodeTrackerManipulator &om, const osg::CopyOp &copyOp=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgGA, NodeTrackerManipulator)
void setTrackNodePath (const osg::NodePath &nodePath)
void setTrackNodePath (const osg::ObserverNodePath &nodePath)
osg::ObserverNodePathgetTrackNodePath ()
void setTrackNode (osg::Node *node)
osg::NodegetTrackNode ()
const osg::NodegetTrackNode () const
void setTrackerMode (TrackerMode mode)
TrackerMode getTrackerMode () const
void setRotationMode (RotationMode mode)
RotationMode getRotationMode () const
virtual void setByMatrix (const osg::Matrixd &matrix)
virtual osg::Matrixd getMatrix () const
virtual osg::Matrixd getInverseMatrix () const
virtual void setNode (osg::Node *)
virtual void computeHomePosition ()
- Public Member Functions inherited from osgGA::OrbitManipulator
 OrbitManipulator (int flags=DEFAULT_SETTINGS)
 OrbitManipulator (const OrbitManipulator &om, const osg::CopyOp &copyOp=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgGA, OrbitManipulator)
virtual void setByInverseMatrix (const osg::Matrixd &matrix)
virtual void setTransformation (const osg::Vec3d &eye, const osg::Quat &rotation)
virtual void setTransformation (const osg::Vec3d &eye, const osg::Vec3d &center, const osg::Vec3d &up)
virtual void getTransformation (osg::Vec3d &eye, osg::Quat &rotation) const
virtual void getTransformation (osg::Vec3d &eye, osg::Vec3d &center, osg::Vec3d &up) const
void setHeading (double azimuth)
double getHeading () const
void setElevation (double elevation)
double getElevation () const
virtual void setCenter (const osg::Vec3d &center)
const osg::Vec3dgetCenter () const
virtual void setRotation (const osg::Quat &rotation)
const osg::QuatgetRotation () const
virtual void setDistance (double distance)
double getDistance () const
virtual void setTrackballSize (const double &size)
double getTrackballSize () const
virtual void setWheelZoomFactor (double wheelZoomFactor)
double getWheelZoomFactor () const
virtual void setMinimumDistance (const double &minimumDistance, bool relativeToModelSize=NULL)
double getMinimumDistance (bool *relativeToModelSize=NULL) const
virtual
osgUtil::SceneView::FusionDistanceMode 
getFusionDistanceMode () const
virtual float getFusionDistanceValue () const
- Public Member Functions inherited from osgGA::StandardManipulator
 StandardManipulator (int flags=DEFAULT_SETTINGS)
 StandardManipulator (const StandardManipulator &m, const osg::CopyOp &copyOp=osg::CopyOp::SHALLOW_COPY)
virtual const char * className () const
virtual const osg::NodegetNode () const
virtual osg::NodegetNode ()
virtual void setVerticalAxisFixed (bool value)
bool getVerticalAxisFixed () const
 Returns whether manipulator preserves camera's "UP" vector.
bool getAllowThrow () const
 Returns true if the camera can be thrown, false otherwise. It defaults to true.
virtual void setAllowThrow (bool allowThrow)
virtual void setAnimationTime (const double t)
double getAnimationTime () const
bool isAnimating () const
virtual void finishAnimation ()
virtual void home (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual void home (double)
virtual void init (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool handle (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual void getUsage (osg::ApplicationUsage &usage) const
- Public Member Functions inherited from osgGA::CameraManipulator
virtual void setCoordinateFrameCallback (CoordinateFrameCallback *cb)
CoordinateFrameCallbackgetCoordinateFrameCallback ()
const CoordinateFrameCallbackgetCoordinateFrameCallback () 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
void setIntersectTraversalMask (unsigned int mask)
unsigned int getIntersectTraversalMask () const
virtual void setHomePosition (const osg::Vec3d &eye, const osg::Vec3d &center, const osg::Vec3d &up, bool autoComputeHomePosition=false)
virtual void getHomePosition (osg::Vec3d &eye, osg::Vec3d &center, osg::Vec3d &up) const
virtual void setAutoComputeHomePosition (bool flag)
bool getAutoComputeHomePosition () const
virtual void computeHomePosition (const osg::Camera *camera=NULL, bool useBoundingBox=false)
- Public Member Functions inherited from osgGA::GUIEventHandler
 GUIEventHandler ()
 GUIEventHandler (const GUIEventHandler &eh, const osg::CopyOp &copyop)
 META_Object (osgGA, GUIEventHandler)
virtual void operator() (osg::Node *node, osg::NodeVisitor *nv)
virtual void event (osg::NodeVisitor *nv, osg::Drawable *drawable)
virtual bool handle (const GUIEventAdapter &ea, GUIActionAdapter &aa, osg::Object *, osg::NodeVisitor *)
bool handleWithCheckAgainstIgnoreHandledEventsMask (const GUIEventAdapter &ea, GUIActionAdapter &aa, osg::Object *object, osg::NodeVisitor *nv)
bool handleWithCheckAgainstIgnoreHandledEventsMask (const GUIEventAdapter &ea, GUIActionAdapter &aa)
void setIgnoreHandledEventsMask (unsigned int mask)
unsigned int getIgnoreHandledEventsMask () const
- Public Member Functions inherited from osg::NodeCallback
 NodeCallback ()
 NodeCallback (const NodeCallback &nc, const CopyOp &)
 META_Object (osg, NodeCallback)
void traverse (Node *node, NodeVisitor *nv)
void setNestedCallback (NodeCallback *nc)
NodeCallbackgetNestedCallback ()
const NodeCallbackgetNestedCallback () const
void addNestedCallback (NodeCallback *nc)
void removeNestedCallback (NodeCallback *nc)
- Public Member Functions inherited from osg::Object
 Object ()
 Object (bool threadSafeRefUnref)
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual ObjectcloneType () const =0
virtual Objectclone (const CopyOp &) const =0
virtual bool isSameKindAs (const Object *) const
virtual const char * libraryName () const =0
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::UserDataContainergetUserDataContainer ()
const osg::UserDataContainergetUserDataContainer () const
osg::UserDataContainergetOrCreateUserDataContainer ()
virtual void setUserData (Referenced *obj)
virtual ReferencedgetUserData ()
virtual const ReferencedgetUserData () 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
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
bool getThreadSafeRefUnref () const
OpenThreads::MutexgetRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSetgetObserverSet () const
ObserverSetgetOrCreateObserverSet () 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 bool performMovementLeftMouseButton (const double eventTimeDelta, const double dx, const double dy)
virtual bool performMovementMiddleMouseButton (const double eventTimeDelta, const double dx, const double dy)
virtual bool performMovementRightMouseButton (const double eventTimeDelta, const double dx, const double dy)
void computeNodeWorldToLocal (osg::Matrixd &worldToLocal) const
void computeNodeLocalToWorld (osg::Matrixd &localToWorld) const
void computeNodeCenterAndRotation (osg::Vec3d &center, osg::Quat &rotation) const
void computePosition (const osg::Vec3d &eye, const osg::Vec3d &lv, const osg::Vec3d &up)
- Protected Member Functions inherited from osgGA::OrbitManipulator
virtual bool handleMouseWheel (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool performMouseDeltaMovement (const float dx, const float dy)
virtual void applyAnimationStep (const double currentProgress, const double prevProgress)
virtual void rotateTrackball (const float px0, const float py0, const float px1, const float py1, const float scale)
virtual void rotateWithFixedVertical (const float dx, const float dy)
virtual void rotateWithFixedVertical (const float dx, const float dy, const osg::Vec3f &up)
virtual void panModel (const float dx, const float dy, const float dz=0.f)
virtual void zoomModel (const float dy, bool pushForwardIfNeeded=true)
void trackball (osg::Vec3d &axis, float &angle, float p1x, float p1y, float p2x, float p2y)
float tb_project_to_sphere (float r, float x, float y)
virtual bool startAnimationByMousePointerIntersection (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual void allocAnimationData ()
- Protected Member Functions inherited from osgGA::StandardManipulator
virtual bool handleFrame (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool handleResize (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool handleMouseMove (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool handleMouseDrag (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool handleMousePush (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool handleMouseRelease (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool handleKeyDown (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool handleKeyUp (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool handleMouseDeltaMovement (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual bool performMovement ()
virtual bool performAnimationMovement (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
void addMouseEvent (const osgGA::GUIEventAdapter &ea)
void flushMouseEventStack ()
virtual bool isMouseMoving () const
float getThrowScale (const double eventTimeDelta) const
virtual void centerMousePointer (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
void fixVerticalAxis (osg::Vec3d &eye, osg::Quat &rotation, bool disallowFlipOver)
virtual bool setCenterByMousePointerIntersection (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
bool getRelativeFlag (int index) const
void setRelativeFlag (int index, bool value)
- Protected Member Functions inherited from osgGA::CameraManipulator
 CameraManipulator ()
 CameraManipulator (const CameraManipulator &mm, const osg::CopyOp &copyOp=osg::CopyOp::SHALLOW_COPY)
virtual ~CameraManipulator ()
std::string getManipulatorName () const

Protected Attributes

osg::ObserverNodePath _trackNodePath
TrackerMode _trackerMode
- Protected Attributes inherited from osgGA::OrbitManipulator
osg::Vec3d _center
osg::Quat _rotation
double _distance
double _trackballSize
double _wheelZoomFactor
double _minimumDistance
- Protected Attributes inherited from osgGA::StandardManipulator
bool _thrown
bool _allowThrow
float _mouseCenterX
float _mouseCenterY
osg::ref_ptr< const
osgGA::GUIEventAdapter
_ga_t1
osg::ref_ptr< const
osgGA::GUIEventAdapter
_ga_t0
double _delta_frame_time
double _last_frame_time
osg::ref_ptr< osg::Node_node
double _modelSize
bool _verticalAxisFixed
osg::ref_ptr< AnimationData_animationData
int _flags
int _relativeFlags
- Protected Attributes inherited from osgGA::CameraManipulator
unsigned int _intersectTraversalMask
bool _autoComputeHomePosition
osg::Vec3d _homeEye
osg::Vec3d _homeCenter
osg::Vec3d _homeUp
osg::ref_ptr
< CoordinateFrameCallback
_coordinateFrameCallback
- Protected Attributes inherited from osgGA::GUIEventHandler
unsigned int _ignoreHandledEventsMask

Additional Inherited Members

- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
static bool getThreadSafeReferenceCounting ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()
- Public Attributes inherited from osg::NodeCallback
ref_ptr< NodeCallback_nestedCallback
- Static Protected Member Functions inherited from osgGA::StandardManipulator
static void rotateYawPitch (osg::Quat &rotation, const double yaw, const double pitch, const osg::Vec3d &localUp=osg::Vec3d(0., 0., 0.))
static void fixVerticalAxis (osg::Quat &rotation, const osg::Vec3d &localUp, bool disallowFlipOver)
static void fixVerticalAxis (const osg::Vec3d &forward, const osg::Vec3d &up, osg::Vec3d &newUp, const osg::Vec3d &localUp, bool disallowFlipOver)
static int allocateRelativeFlag ()
- Static Protected Attributes inherited from osgGA::OrbitManipulator
static int _minimumDistanceFlagIndex

Member Enumeration Documentation

Enumerator:
TRACKBALL 

Use a trackball style manipulation of the view direction w.r.t the tracked orientation.

ELEVATION_AZIM 

Allow the elevation and azimuth angles to be adjust w.r.t the tracked orientation.

Enumerator:
NODE_CENTER 

Track the center of the node's bounding sphere, but not rotations of the node. For databases which have a CoordinateSystemNode, the orientation is kept relative the coordinate frame if the center of the node.

NODE_CENTER_AND_AZIM 

Track the center of the node's bounding sphere, and the azimuth rotation (about the z axis of the current coordinate frame). For databases which have a CoordinateSystemNode, the orientation is kept relative the coordinate frame if the center of the node.

NODE_CENTER_AND_ROTATION 

Tack the center of the node's bounding sphere, and the all rotations of the node.

Constructor & Destructor Documentation

osgGA::NodeTrackerManipulator::NodeTrackerManipulator ( int  flags = DEFAULT_SETTINGS)
osgGA::NodeTrackerManipulator::NodeTrackerManipulator ( const NodeTrackerManipulator om,
const osg::CopyOp copyOp = osg::CopyOp::SHALLOW_COPY 
)

Member Function Documentation

virtual void osgGA::NodeTrackerManipulator::computeHomePosition ( )
virtual
void osgGA::NodeTrackerManipulator::computeNodeCenterAndRotation ( osg::Vec3d center,
osg::Quat rotation 
) const
protected
void osgGA::NodeTrackerManipulator::computeNodeLocalToWorld ( osg::Matrixd localToWorld) const
protected
void osgGA::NodeTrackerManipulator::computeNodeWorldToLocal ( osg::Matrixd worldToLocal) const
protected
void osgGA::NodeTrackerManipulator::computePosition ( const osg::Vec3d eye,
const osg::Vec3d lv,
const osg::Vec3d up 
)
protected
virtual osg::Matrixd osgGA::NodeTrackerManipulator::getInverseMatrix ( ) const
virtual

get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix.

Reimplemented from osgGA::OrbitManipulator.

virtual osg::Matrixd osgGA::NodeTrackerManipulator::getMatrix ( ) const
virtual

get the position of the manipulator as 4x4 Matrix.

Reimplemented from osgGA::OrbitManipulator.

RotationMode osgGA::NodeTrackerManipulator::getRotationMode ( ) const
TrackerMode osgGA::NodeTrackerManipulator::getTrackerMode ( ) const
inline
osg::Node* osgGA::NodeTrackerManipulator::getTrackNode ( )
inline
const osg::Node* osgGA::NodeTrackerManipulator::getTrackNode ( ) const
inline
osg::ObserverNodePath& osgGA::NodeTrackerManipulator::getTrackNodePath ( )
inline
osgGA::NodeTrackerManipulator::META_Object ( osgGA  ,
NodeTrackerManipulator   
)
virtual bool osgGA::NodeTrackerManipulator::performMovementLeftMouseButton ( const double  eventTimeDelta,
const double  dx,
const double  dy 
)
protectedvirtual

Reimplemented from osgGA::OrbitManipulator.

virtual bool osgGA::NodeTrackerManipulator::performMovementMiddleMouseButton ( const double  eventTimeDelta,
const double  dx,
const double  dy 
)
protectedvirtual

Reimplemented from osgGA::OrbitManipulator.

virtual bool osgGA::NodeTrackerManipulator::performMovementRightMouseButton ( const double  eventTimeDelta,
const double  dx,
const double  dy 
)
protectedvirtual

Reimplemented from osgGA::OrbitManipulator.

virtual void osgGA::NodeTrackerManipulator::setByMatrix ( const osg::Matrixd matrix)
virtual

set the position of the matrix manipulator using a 4x4 Matrix.

Reimplemented from osgGA::OrbitManipulator.

virtual void osgGA::NodeTrackerManipulator::setNode ( osg::Node )
virtual

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 from osgGA::StandardManipulator.

void osgGA::NodeTrackerManipulator::setRotationMode ( RotationMode  mode)
void osgGA::NodeTrackerManipulator::setTrackerMode ( TrackerMode  mode)
void osgGA::NodeTrackerManipulator::setTrackNode ( osg::Node node)
void osgGA::NodeTrackerManipulator::setTrackNodePath ( const osg::NodePath nodePath)
void osgGA::NodeTrackerManipulator::setTrackNodePath ( const osg::ObserverNodePath nodePath)
inline

Member Data Documentation

TrackerMode osgGA::NodeTrackerManipulator::_trackerMode
protected
osg::ObserverNodePath osgGA::NodeTrackerManipulator::_trackNodePath
protected

The documentation for this class was generated from the following file: