19#ifndef OSGGA_ORBIT_MANIPULATOR
20#define OSGGA_ORBIT_MANIPULATOR 1
70 virtual void setMinimumDistance(
const double& minimumDistance,
bool relativeToModelSize =
false );
87 const float px1,
const float py1,
const float scale );
90 virtual void panModel(
const float dx,
const float dy,
const float dz = 0.f );
91 virtual void zoomModel(
const float dy,
bool pushForwardIfNeeded =
true );
The 'GA' in osgGA stands for 'GUI Abstraction'; the osgGA namespace provides facilities to help devel...
Definition Callback:21
Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...
Definition CopyOp:41
@ SHALLOW_COPY
Definition CopyOp:47
A quaternion class.
Definition Quat:30
General purpose double triple for use as vertices, vectors and normals.
Definition Vec3d:30
General purpose float triple for use as vertices, vectors and normals.
Definition Vec3f:29
Definition GUIActionAdapter:62
Event class for storing Keyboard, mouse and window events.
Definition GUIEventAdapter:82
virtual void applyAnimationStep(const double currentProgress, const double prevProgress)
virtual bool performMovementLeftMouseButton(const double eventTimeDelta, const double dx, const double dy)
virtual bool performMovementRightMouseButton(const double eventTimeDelta, const double dx, const double dy)
double getDistance() const
virtual void setTrackballSize(const double &size)
virtual float getFusionDistanceValue() const
Get the FusionDistanceValue.
const osg::Quat & getRotation() const
virtual void setByMatrix(const osg::Matrixd &matrix)
set the position of the matrix manipulator using a 4x4 Matrix.
virtual void setWheelZoomFactor(double wheelZoomFactor)
META_Object(osgGA, OrbitManipulator)
virtual void rotateWithFixedVertical(const float dx, const float dy, const osg::Vec3f &up)
virtual bool performMovementMiddleMouseButton(const double eventTimeDelta, const double dx, const double dy)
float tb_project_to_sphere(float r, float x, float y)
double _distance
Definition OrbitManipulator:98
double getMinimumDistance(bool *relativeToModelSize=NULL) const
virtual void setRotation(const osg::Quat &rotation)
double getHeading() const
static int _minimumDistanceFlagIndex
Definition OrbitManipulator:104
virtual void getTransformation(osg::Vec3d &eye, osg::Vec3d ¢er, osg::Vec3d &up) const
Gets manipulator's focal center, eye position, and up vector.
virtual void setCenter(const osg::Vec3d ¢er)
double getWheelZoomFactor() const
Get the mouse wheel zoom factor.
Definition OrbitManipulator:122
virtual osg::Matrixd getMatrix() const
get the position of the manipulator as 4x4 Matrix.
virtual void setMinimumDistance(const double &minimumDistance, bool relativeToModelSize=false)
double _trackballSize
Definition OrbitManipulator:100
virtual void rotateTrackball(const float px0, const float py0, const float px1, const float py1, const float scale)
virtual void getTransformation(osg::Vec3d &eye, osg::Quat &rotation) const
Gets manipulator's eye position and eye orientation.
virtual bool performMouseDeltaMovement(const float dx, const float dy)
void trackball(osg::Vec3d &axis, float &angle, float p1x, float p1y, float p2x, float p2y)
double _minimumDistance
Definition OrbitManipulator:103
virtual bool handleMouseWheel(const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
virtual void allocAnimationData()
Definition OrbitManipulator:111
void setElevation(double elevation)
double getElevation() const
virtual void setTransformation(const osg::Vec3d &eye, const osg::Vec3d ¢er, const osg::Vec3d &up)
Sets manipulator by eye position, center of rotation, and up vector.
virtual osgUtil::SceneView::FusionDistanceMode getFusionDistanceMode() const
Get the FusionDistanceMode.
double getTrackballSize() const
Get the size of the trackball relative to the model size.
Definition OrbitManipulator:120
virtual void setDistance(double distance)
virtual void panModel(const float dx, const float dy, const float dz=0.f)
void setHeading(double azimuth)
virtual void rotateWithFixedVertical(const float dx, const float dy)
virtual void setTransformation(const osg::Vec3d &eye, const osg::Quat &rotation)
Sets manipulator by eye position and eye orientation.
virtual bool startAnimationByMousePointerIntersection(const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
OrbitManipulator(const OrbitManipulator &om, const osg::CopyOp ©Op=osg::CopyOp::SHALLOW_COPY)
virtual void zoomModel(const float dy, bool pushForwardIfNeeded=true)
virtual osg::Matrixd getInverseMatrix() const
get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model...
osg::Vec3d _center
Definition OrbitManipulator:96
const osg::Vec3d & getCenter() const
OrbitManipulator(int flags=DEFAULT_SETTINGS)
osg::Quat _rotation
Definition OrbitManipulator:97
virtual void setByInverseMatrix(const osg::Matrixd &matrix)
set the position of the matrix manipulator using a 4x4 Matrix.
double _wheelZoomFactor
Definition OrbitManipulator:101
Definition OrbitManipulator:106
osg::Vec3d _movement
Definition OrbitManipulator:108
void start(const osg::Vec3d &movement, const double startTime)
StandardManipulator(int flags=DEFAULT_SETTINGS)
@ DEFAULT_SETTINGS
Definition StandardManipulator:43
osg::ref_ptr< AnimationData > _animationData
Definition StandardManipulator:159
FusionDistanceMode
FusionDistanceMode is used only when working in stereo.
Definition SceneView:339
#define NULL
Definition Export:55
#define OSGGA_EXPORT
Definition Export:40