Commit Graph

21 Commits

Author SHA1 Message Date
Robert Osfield
2cf3224dd3 From Jan Pecvia, improvements to manipulators and added new manipulator to osgviewer 2010-05-27 13:59:34 +00:00
Robert Osfield
d0f48a2712 From Jan Perciva with changes from Robert Osfield, "I am submitting improved osgGA camera manipulators.
Changes:
- new mouse wheel zoom/movement/center functionality
- ability to fix vertical axis (important for CAD)
- possibility to specify values as absolute values or relative to model size
- kind of backward compatibility by flags passed to constructor
- and much more
- restructuring classes to use kind of hierarchy and standard way of event processing (handle methods). This way, there is much more code reusability and it is more easy to develop new kinds of manipulators.

Briefly, the new architecture keeps MatrixManipulator as base abstract class. StandardManipulator is the feature-rich standard manipulator with two main descendant classes: OrbitManipulator and FirstPersonManipulator. OrbitManipulator is base class for all trackball style manipulators, based on center, rotation and distance from center. FirstPersonManipulator is base for walk or fly style manipulators, using position and rotation for camera manipulation.
"

Changes by Robert: Replaced osg::Vec3 by osg::Vec3d, introduced DEFAULT_SETTINGS enum and usage.  Added frame time member variables in prep for improving throw animation when vysync is off.
2010-05-25 12:05:13 +00:00
Robert Osfield
ff38da1290 Refactor various NodeTracker and MatrixManipulator classes to use the osg::ObserverNodePath and osg::oberserver_ptr<> classes 2010-02-15 20:15:32 +00:00
Robert Osfield
370deba546 <iterator>, <stdlib.h> and <ctype.h> includes required for QNX compiler 2009-11-17 14:06:07 +00:00
Robert Osfield
f4afa427a7 From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)." 2007-12-10 17:30:18 +00:00
Robert Osfield
095da72020 Fixed typo 2007-07-11 16:06:04 +00:00
Robert Osfield
6d7b5e7ebd From Eric Wing, pedantic warning fixes 2007-04-06 15:36:13 +00:00
Robert Osfield
553d017fd9 From Daniel Trstenjak, build fixes for Hpux 11.11, Irix 6.5, Solaris 8 and Aix 2006-08-02 10:43:26 +00:00
Robert Osfield
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +00:00
Robert Osfield
abed6b7951 Ported NodeTrackCallback and NodeTrackManipulator across to use oberserver_ptr
instead of RefNodePath.

Removed now redundent RefNodePath.
2006-02-27 19:49:47 +00:00
Robert Osfield
0347895c96 Fixed typo in comments and onscreen help. 2005-12-09 20:03:04 +00:00
Robert Osfield
48b69d5b13 From Toshiyuki Takehei, typo fix of getTrackerMode(). 2005-11-14 11:08:16 +00:00
Robert Osfield
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
2a904a4dad Added docs 2004-10-15 09:10:36 +00:00
Robert Osfield
bb7c423849 Updates to NodeTrackerManipulator.cpp 2004-10-14 20:35:55 +00:00
Robert Osfield
792a7fe0d5 Improvements to the NodeTrackManipulator and osgsimulation example 2004-10-14 10:38:29 +00:00
Robert Osfield
790da0776a Made the computeLocalToWorld etc method to use const NodePath's parameters. 2004-09-09 15:14:33 +00:00
Robert Osfield
1da72da167 Simplified the TrackMode options 2004-08-31 14:21:46 +00:00
Robert Osfield
08017daf37 Added rescale of quaternion in Matrix::set(Quat), a copy operation in osg::Quat and
extra tracking options in NodeTrackerManipulator.
2004-08-31 09:20:31 +00:00
Robert Osfield
6578655ff3 Added trackmode support for handling rotation of tracked node 2004-08-30 18:53:44 +00:00
Robert Osfield
146f4cd573 Remamed TrackerManipulator to NodeTrackerManipulator 2004-08-30 10:03:18 +00:00